2013-07-25 146 views
2

我有兩個佈局xml文件,每個文件都有自己單獨的Activity類。每個類都是有效的,因爲我可以從清單文件的應用程序部分引用每個活動,並啓動並運行。我的問題是,當我點擊第一個佈局xml文件上的按鈕轉到另一個時 - 它將切換到第二個佈局xml文件,但是該佈局上的任何操作都不會執行任何操作。第二個活動類中的代碼不會觸發。例如,當我首先列出MenuActivity時,它將顯示佈局xml文件,並且該佈局上的所有調用都起作用。當我點擊按鈕切換到Home時,它會顯示home layout xml文件,但HomeActivity中的所有代碼都不會執行任何操作。我確定這很簡單,但我無法忍受它。提前致謝。從一個活動切換到另一個活動

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MenuActivity" 
     android:label="@string/title_activity_menu" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".HomeActivity" /> 
</application> 
+1

你可以顯示你目前使用哪些代碼切換活動? –

+1

你能向我們展示一些來自'MenuActivity'和'HomeActivity'的相關部分嗎? – gunar

+1

您應該發佈切換的代碼,而不僅僅是XML – anthonycr

回答

12

這聽起來像你正在使用的不是setContentView()Intents交換機的活動。

例如,啓動您MenuActivityHomeActivity

Intent menuIntent = new Intent(this, MenuActivity.class); 
startActivity(menuIntent); 

setContentView()只是改變的顯示佈局;它不會創建一個新的活動。

+0

啊,謝謝。就是這樣。但是,當我添加代碼時,出現此錯誤:構造函數Intent(new View.OnClickListener(){},Class )未定義。 TextView menuButton =(TextView)findViewById(R.id.textViewMenu); menuButton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(View v){Intent menuIntent = new Intent(this,MenuActivity.class); startActivity(menuIntent);}});對不起,我不知道如何正確格式化。 –

+1

new Intent(this,MenuActivity.class);需要一個上下文'this'和一個'MenuActivity.class'類。似乎你沒有給它一個適當的上下文。嘗試getApplicationContext() – Shmuel

+0

@Tanis:真是一個猜測! – gunar

0

使用Intent類從一個活動切換到另一個活動。 假設你的第一個活動是HomeActivity,你想去MenuActivity只寫一個簡單的兩行代碼..

Intent intent=new Intent(HomeActivity.this,MenuActivity.class); 

startActivity(intent); 

我希望這個作品。

相關問題