2012-02-07 36 views
0

我想使許多xml佈局的Android應用程序,但我在這裏遇到問題。 該問題從第二個按鈕開始,然後應用程序崩潰。不能使用更多然後2佈局

public class MonkeyQuest_androidActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    final Button newGame = (Button) findViewById(R.id.newGame); 
    newGame.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      setContentView(R.layout.name); 
      final Button setName= (Button) findViewById(R.id.setName); 
      setName.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        setContentView(R.layout.Menu); 
       } 
      }); 
     } 
    }); 
} 

}

+2

你是什麼意思,「許多XML佈局」?你的意思是你需要很多活動嗎?它看起來像你試圖多次更改一個活動的佈局?你是什​​麼意思「問題從第二個按鈕開始」?什麼第二個按鈕?你是否遇到異常?什麼是例外?請發佈logcat(只有相關位)以及更多關於您想要實現的內容以及爲什麼。 – Simon 2012-02-07 20:12:00

回答

2

取而代之的是內容視圖設置爲一個新的佈局,推出了新的活動,並設置在該活動的onCreate()查看內容,相同的方式,本次活動做。

推出新活動:

Intent intent = new Intent(this, NewActivity.class); 
startActivity(intent); 

瞭解更多:http://www.javacodegeeks.com/2010/11/android-full-app-part-5-launch-activity.html#ixzz1ljJohpib

否則,您在活動中聲明的任何意見將是新的充氣查看後面的(除非重新實例化),以及也可能導致很多其他問題。

1

您不允許每次活動多次致電setContentView()

如果您想切換佈局,您需要創建一個新的活動來進入,或將所有想要的視圖放到一個佈局中,並用setVisibility()隱藏/顯示相關的視圖,或者有點像ViewFlipper