簡體   English   中英

片段中使用的Web視圖的后退按鈕不起作用

[英]Back button for webview used in Fragments not working

當我在片段中使用Webview ,我無法使用OnKeydown方法,但是此方法可以在Activity文件中使用,但不能在片段中使用

@Override    
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK && web1.canGoBack()) {
        web1.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

該方法無法在片段中正常工作

對於碎片,

webView.setOnKeyListener(new OnKeyListener()
{
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event)
    {
        if(event.getAction() == KeyEvent.ACTION_DOWN)
        {
            WebView webView = (WebView) v;

            switch(keyCode)
            {
                case KeyEvent.KEYCODE_BACK:
                    if(webView.canGoBack())
                    {
                        webView.goBack();
                        return true;
                    }
                    break;
            }
        }

        return false;
    }
});

在您的片段類中定義一個自定義方法。 例如:

public void myOnKeyDown(int key_code){
   //do whatever you want here
}

並在Activity類中引發按鍵事件時調用此方法。 例如:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        ((PastEventListFragment)fragments.get(0)).myOnKeyDown(keyCode);
        ((EventListFragment)fragments.get(1)).myOnKeyDown(keyCode);

        //and so on...
    }
    return super.onKeyDown(keyCode, event);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM