這裏是你能做到低於1分的方式。在這個例子中,你會在屏幕上放置3個按鈕。這些是我在我的XML文件中定義和佈置的按鈕。點擊3個不同按鈕中的任何一個,它會將您帶到相應的活動。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Here is code to go grab and layout the Buttons, they're named b1, b2, etc. and identified as such.
Button b1 =(Button)findViewById(R.id.b1);
Button b2 =(Button)findViewById(R.id.b2);
Button b3 =(Button)findViewById(R.id.b3);
// Setup the listeners for the buttons, and the button handler
b1.setOnClickListener(buttonhandler);
b2.setOnClickListener(buttonhandler);
b3.setOnClickListener(buttonhandler);
}
View.OnClickListener buttonhandler=new View.OnClickListener() {
// Now I need to determine which button was clicked, and which intent or activity to launch.
public void onClick(View v) {
switch(v.getId()) {
// Now, which button did they press, and take me to that class/activity
case R.id.b1: //<<---- notice end line with colon, not a semicolon
Intent myIntent1 = new Intent(yourAppNamehere.this, theNextActivtyIwant.class);
YourAppNameHere.this.startActivity(myIntent1);
break;
case R.id.b2: //<<---- notice end line with colon, not a semicolon
Intent myIntent2 = new Intent(yourMainAppNamehere.this, AnotherActivtyIwant.class);
YourAppNameHere.this.startActivity(myIntent2);
break;
case R.id.b3:
Intent myIntent3 = new Intent(yourMainAppNamehere.this, a3rdActivtyIwant.class);
YourAppNameHere.this.startActivity(myIntent3);
break;
}
}
};
}
基本上我們正在做幾件事情來設置它。識別按鈕並從XML佈局中拉入。看看每個人如何分配一個id名稱。例如r.id.b1是我的第一個按鈕。
然後我們設置了一個處理程序,它偵聽按鈕上的點擊。接下來,需要知道哪個按鈕被按下了。開關/外殼就像是「如果」。如果他們按下按鈕b1,代碼將我們轉到我們分配給該按鈕的單擊位置。按b1(按鈕1),我們轉到我們分配給它的那個「意圖」或活動。
希望這有助於一點不要忘記投票答案,如果它有任何用處。我只是自己開始使用這些東西。
謝謝,
爲什麼不在每個活動中寫入相同的代碼/ onClick(隨後的參數)? – ankitjaininfo 2010-10-04 14:22:35
這看起來像可怕的代碼。你有沒有通過一個關於如何切換開始活動的教程? – Falmarri 2010-10-05 00:22:13