好的,比方說,我有1個稱爲MainActivity的活動和2個與此活動相關聯的佈局。在佈局1中,我有一個按鈕,點擊後可以在佈局2中打開一個webview。我怎樣才能做到這一點,當我按回退它回到佈局1,並沒有退出整個應用程序。返回上一個佈局的按鈕
編輯:通過創建另一個類並將其鏈接到其中一個佈局來解決此問題。
好的,比方說,我有1個稱爲MainActivity的活動和2個與此活動相關聯的佈局。在佈局1中,我有一個按鈕,點擊後可以在佈局2中打開一個webview。我怎樣才能做到這一點,當我按回退它回到佈局1,並沒有退出整個應用程序。返回上一個佈局的按鈕
編輯:通過創建另一個類並將其鏈接到其中一個佈局來解決此問題。
您必須在您的活動中覆蓋onBackPressed()
並處理那裏的邏輯。
@Override
public void onBackPressed(){
if(/*layout2 visible*/){
// code here to go back to layout 1
}else{
super.onBackPressed();
}
}
@覆蓋 公共無效onBackPressed(){ 如果(R.layout.webview可見) setContentView(R.layout.activity_main); 。 新DOIT()執行();} 其他{super.onBackPressed();} } 我得到錯誤:無法解析符號可見 –
這是一個註釋/舉例來說,你必須提供一個適當的條件 – Zielony
對不起我對編程真的很陌生。我會盡力弄明白,謝謝。 –
我用使用onBackPressed這個代碼()
1- activity_main.xml中
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/go_to_second_layout"
android:text="Go to second layout"
android:onClick="onClick"/>
2- second_layout.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/second_layout">
3- MainActivity.java
public void onClick(View v){
switch(v.getId){
case R.id.go_to_second_layout:{
setContentView(R.layout.second_layout);
((LinearLayout)findViewById(R.id.second_layout)).setVisibility(View.VISIBLE);
break;}}}
@Override
public void onBackPressed() {
if (((LinearLayout)findViewById(R.id.second_layout)).VISIBLE==View.VISIBLE){
setContentView(R.layout.activity_main);
((LinearLayout)findViewById(R.id.second_layout)).setVisibility(View.GONE);
}
else {
super.onBackPressed();}
}
我認爲更好的選擇是創建兩個活動,並保持你的WebView內第二activity.also一些代碼會大有幫助 – eLemEnt