2014-02-17 63 views
0

在我的Activity我有50個按鈕,並在每個按鈕點擊我想推出相同的Activity動態添加聽衆按鈕

我想避免設置每個按鈕的監聽者和意圖。 這是否有一個竅門?

這是我使用的唯一一個Button聽衆:

uno = (Button) findViewById(R.id.Button07); 
     uno.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 

        Intent activityChangeIntent = new Intent(MainActivity.this, Interno.class); 

        MainActivity.this.startActivity(activityChangeIntent); 
       } 
      }); 
+0

你想要所有的50個*完全相同的'意圖'嗎?如果是這樣,爲什麼?如果他們都需要附加不同的數據/附加組件,這是可能的,但我沒有看到你的代碼示例。 – Geobits

回答

1

您可以在XML佈局添加

<Button 
... 
android:onClick="onClick" /> 

,每一個按鈕。並在你的類

public void onClick(View v) 
{ 
} 
+0

也有可能;)很好! –

0
Button[] buttons = new Button[SIZE]; 
for(int i=0; i<some_value; i++) {  
    String buttonID = "btn" + i ; //THE ID OF YOUR BUTTON 
    int resID = getResources().getIdentifier(buttonID, "id", "com.sample.project"); //PLEASE CHANGE WITH YOUR PROJECT NAMESPACE 
    buttons[i] = ((Button) findViewById(resID)); 
    buttons[i].setOnClickListener(this);  
} 

你可以只在您的按鈕循環,通過字符串名稱找到他們,並添加監聽器。這裏的按鈕都存儲在陣列中......

0

在XML文件中的每個按鈕對象的方法添加一個屬性是這樣的:

<Button android:onClick="clickMe" /> 

現在添加這個方法到Activity.java塊:

public void clickMe(View v){ 
    //TODO something 
} 

好運氣。