package com.example.namutech;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class MainActivity extends Activity {
private BackPressCloseHandler backPressCloseHandler;
WebView window;
String pageName;
Activity thisActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
thisActivity = this;
pageName = "index";
backPressCloseHandler = new BackPressCloseHandler(this);
window = (WebView)findViewById(R.id.webView1);
window.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
return super.shouldOverrideUrlLoading(view, url);
}
public void onPageFinished(WebView view, String url){
String location = url.toString();
location = location.substring(location.lastIndexOf("/") + 1, location.length());
pageName = location;
}
});
WebSettings set = window.getSettings();
set.setJavaScriptEnabled(true);
set.setBuiltInZoomControls(false);
}
@Override
public void onBackPressed(){
if( pageName == "estimate.asp" ){
Toast toast = Toast.makeText(thisActivity, "/" + pageName + "/", Toast.LENGTH_SHORT);
toast.show();
}else{
backPressCloseHandler.onBackPressed();
}
}
}
위와같은 소스를 작성했습니다. 웹뷰를 전체화면으로 띄워서 네이티브 앱처럼 사용하려고 만들었는데요...
보시다시피 onBackPressed() 부분에서 pageName이 estimate.asp 일 경우 따로 만든 backPressCloseHandler가 아닌
기능을 실행하려고 조건을 걸었는데 저 부분에서 pageName이 estimate.asp 임에도 불구하고 else로 넘어가버립니다.
혹시 이 부분 왜 조건에 안걸리는지 이유를 알수 있을까요?
아무리 머리를 굴려봐도 답이 안나오네요....