2015-03-13 70 views
0

在這種情況下,我有一些div元素顯示在我的HTML頁面位於資產文件夾中,我使用WebView加載該頁面。我想要的是當我按backButton然後它隱藏所有的div元素。但問題是當backButton按下它關閉我的應用程序。有沒有辦法做到這一點?如何覆蓋android中的backButton默認方法?

回答

-1
public void onBackPressed() { 
    // Write your code here 

    super.onBackPressed(); 
} 
+1

請你[編輯加載JavaScript ]解釋爲什麼這段代碼回答這個問題?僅限代碼答案[不鼓勵](http://meta.stackexchange.com/questions/148272),因爲他們沒有教導解決方案。 – DavidPostill 2015-03-13 06:40:03

+0

感謝您的回答,但它不完全是我想要的;)它仍然關閉我的應用程序。 – 2015-03-13 07:45:03

0

我觀察,你加載網址在的WebView這是一個活動和重寫活動的背部現在事件要加載網頁上的某些行動的WebView

試試這個技巧,取一個布爾值,在webview中加載一次頁面並在後退事件中檢查相同的布爾值時使其成爲true。

public void onBackPressed() { 
    if(boolean){ 
//do action 
}else{ 
super.onBackPressed(); 
} 

} 
0

公共類AndroidBackButtonActivity延伸活動{

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Toast.makeText(getApplicationContext(),"http://programmerguru.com/android-tutorial", Toast.LENGTH_LONG).show(); 
} 

@Override 
public void onBackPressed() { 
    //Display alert message when back button has been pressed 
    backButtonHandler(); 
    return; 
} 

public void backButtonHandler() { 
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(
      AndroidBackButtonActivity.this); 
    // Setting Dialog Title 
    alertDialog.setTitle("Leave application?"); 
    // Setting Dialog Message 
    alertDialog.setMessage("Are you sure you want to leave the application?"); 
    // Setting Icon to Dialog 
    alertDialog.setIcon(R.drawable.dialog_icon); 
    // Setting Positive "Yes" Button 
    alertDialog.setPositiveButton("YES", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        finish(); 
       } 
      }); 
    // Setting Negative "NO" Button 
    alertDialog.setNegativeButton("NO", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        // Write your code here to invoke NO event 
        dialog.cancel(); 
       } 
      }); 
    // Showing Alert Message 
    alertDialog.show(); 
} 

}

+0

你的代碼工作完美,但它不是我正在尋找...謝謝 – 2015-03-13 07:46:50

0

問題就迎刃而解了...... onBackPressed方法我使用的WebView

@Override 
public void onBackPressed(){ 
    WebView webView = (WebView) findViewById(R.id.webView1); 
    webView.loadUrl("javascript:$('#settingEdit').hide()"); 
}