簡體   English   中英

在android Webview中按下后如何返回上一個任務而不是關閉應用程序?

[英]On pressed back in android Webview how to go back to previous task instead of closing app?

我有一個 webview 應用程序,它有一個加載網站的 MainActivity,另一個是書簽活動/列表。 MainActivity中有一個按鈕可以打開書簽列表。

當用戶單擊該列表中的鏈接時打開書簽列表后,它將在 MainActivity 中打開/加載。

問題是,從書簽列表打開鏈接后,當用戶按下后退按鈕時,它顯示應用程序關閉警告對話框。 我使用的代碼是...

 @Override
public void onBackPressed()
{
    if(MyWebview.canGoBack()){
        MyWebview.goBack();
    }else{
        new AlertDialog.Builder(this)
                .setIcon(android.R.drawable.ic_dialog_alert)
                .setTitle("Exit!")
                .setMessage("Are you sure to close?")
                .setPositiveButton("Yes", new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        finish();
                    }
                })
                .setNegativeButton("No", null)
                .show();
    }
}

我想要的是,從書簽列表中打開鏈接后,按后退按鈕后,它將顯示書簽列表,而不是顯示應用程序關閉警告對話框。 像這樣...

 @Override
public void onBackPressed()
{
    if(MyWebview.canGoBack()){
        MyWebview.goBack();
    }else{

        // If bookmark list is open in Back Stack, go to Bookmark List,
       // and if Bookmark List is not open, show the app closing warning dialogue. 

}
   @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_BACK:
            if (mWebView.canGoBack()) {
                mWebView.goBack();
            } else {
                show dialog();
            }
            return true;
    }

}
return super.onKeyDown(keyCode, event);
  }

暫無
暫無

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

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