2012-02-13 71 views
0

在我的課上,我使用了setcontentview(R.layout.main2),其中在按下按鈕的某個點之後調用第二個佈局main3。我不知道,如何在第二個佈局上使用後退按鈕以便移回到main2。我嘗試使用finish();,但它讓我更多地瞭解了佈局main1。另外,我嘗試再次調用佈局main2,但隨後我的按鈕不起作用。 這可以怎麼做?第二個setcontentview佈局的後退按鈕

編輯

public class Conn extends Activity 

public void onCreate(Bundle mSavedInstanceState) 
    { 
     super.onCreate(mSavedInstanceState); 
     requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
     setContentView(R.layout.main2); 
} 

findViewById(R.id.Devices).setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     setContentView(R.layout.devices); 

     if (DeviceName==(null)) 
     { 
      DeviceName="Not Connected"; 
     } 
     final TextView BDConnected = (TextView) findViewById(R.id.BDConnected); 
      BDConnected.setText("BD Device Connected :"+DeviceName); 

      WifiManager wifiManager=(WifiManager) getSystemService(Context.WIFI_SERVICE); 
     String net=wifiManager.getConnectionInfo().getSSID(); 
     //wifiManager.getConnectionInfo().getSSID(); 
      final TextView WiFiConnected = (TextView) findViewById(R.id.WiFiConnected); 
      WiFiConnected.setText("WiFi NetWork Connected :"+net); 
}}): 
} 
上的OnCreate

我打電話我主要佈局(MAIN2)。當從主佈局按下按鈕設備時,它會在第二個佈局(設備)上轉發我。從那一點我怎麼可以回到佈局main2?

EDIT2

我使用viewswitches和合並兩個佈局成一個,並使用switch.previous和未來

+0

一些代碼示例會很好,否則有點難以理解錯誤發生的位置。 – Egor 2012-02-13 20:48:49

+0

您的項目中有多少項活動? 3? 「如何在第二個佈局上使用後退按鈕以便移回到main2」第二個佈局isnt main2?請給一些代碼。 – 2012-02-13 20:48:50

+0

**答案**我使用viewswitches並將兩個佈局合併爲一個,並使用switch.previous和next – prokopis 2012-02-14 07:46:13

回答

1

首先,你應該知道,在Android,這個想法是不是真的保持一個在按鍵上使用setContentView在不同視圖之間進行活動和彈跳。一般來說(當然也有例外,但是一般爲),您應該爲每個屏幕顯示不同的活動,以顯示用戶列表屏幕,詳細信息屏幕等。然後,每當用戶想要返回之前的屏幕,他們點擊後退按鈕,當前的Activity彈出堆棧,並且前一個屏幕出現。

一個真的很好的資源,對所有這一切閱讀將是Android開發者參考的活動頁面,located here.你特別相關的是「活動生命週期」和「啓動活動,並獲得結果」部分。

0

可以寫詩這樣處理後退按鈕

@Override 
public void onBackPressed() { 
    Intent backPressedIntent = new Intent(); 
    backPressedIntent .setClass(getApplicationContext(), main2.class); 
    startActivity(backPressedIntent); 
    finish(); 
} 
0

爲未來的Google逾期答覆。

創建一個名爲「secondViewOpened」的布爾值,默認值爲「false」。然後將其更改爲true:

setContentView(R.layout.secondview); 
secondViewOpened=true; 

使用您onBackPressed這樣的:

@Override 
public void onBackPressed() { 
    if (secondViewOpened) 
    ... 
    else 
    ... 
} 

不要忘記,當您關閉這個觀點的價值又變成假的。