2013-06-28 64 views
0

有程序創建的按鈕了很多,這是他們的2:如何使開關工作?

Button agafon_1 = new Button(this);agafon_1.setText(R.string.txt_agafon_1);llPreViewList.addView(agafon_1, lParams); 
Button agafon_2 = new Button(this);agafon_2.setText(R.string.txt_agafon_2);llPreViewList.addView(agafon_2, lParams); 

有OnClickListener,它有一個開關。我需要插入什麼代替問號才能使交換機工作?

switch (???) { 
case ???: 
// 
break; 
case ???: 
// 
break; 
} 

文件R.java甚至沒有提及ID按鈕,這使得它無法使用v.getId()...

+0

交換機適用於INT(最多JDK6)和String(JDK7)我相信。我建議int選項,只需將int分配給每個按鈕並切換它們。 – Lenymm

回答

1

如果您使用的每個按鈕設定不同的ID相同OnClickListener對於每ButtonButton.setId(int)和使用v.getId()爲您的switch,其中vonClick()的參數。否則,你可以爲每個按鈕創建一個不同的OnClickListener

0

您類實現OnClickListener

public class MainActivity extends Activity implements OnClickListener 

然後

 Button agafon_1 = new Button(this) 
    agafon_1.setId(yourbuttonid); 
    agafon_1.setOnClickListener(this); 

然後

@Override 
    public void onClick(View v) 
    { 
     switch(v.getId()) 
     { 
     case buttonid1 : // id must match 
     break; 
     case buttonid2 : 
     break; 
     ... 

     } 
    }