我正在使用一个片段,其中我使用了backview事件进行webview,但是当我点击它时它仍会加载历史记录。如何克服碎片。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN){
switch(keyCode)
{
case KeyEvent.KEYCODE_BACK:
if(mWebView.canGoBack() == true){
mWebView.goBack();
}else{
finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
但仍加载以前的历史记录。 提前谢谢。
答案 0 :(得分:0)
Aa extends Fragment
{
static WebView w;
View v;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message message) {
switch (message.what) {
case 1:{
webViewGoBack();
}break;
}
}
private void webViewGoBack() {
w.goBack();
// TODO Auto-generated method stub
}
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
v = inflater.inflate(R.layout.webs, container, false);
w=(WebView)v.findViewById(R.id.webView1);
}
w.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if((keyCode==KeyEvent.KEYCODE_BACK)&& w.canGoBack())
{
handler.sendEmptyMessage(1);
return true;
}
return false;
}
});