![](/img/trans.png)
[英]Android: Determine which button was clicked given that button not defined in xml
[英]How to determine which dynamic button was clicked in android?
我在oncreate中創建了一個動態按鈕,我沒有在XML中放置任何按鈕。
LinearLayout table = (LinearLayout)findViewById(R.id.linearlayout);
Button btnAttendance,btnSched;
btnAttendance = new Button(this);
btnSched = new Button(this);
btnAttendance.setOnClickListener(this);
btnSched.setOnClickListener(this);
table.addView(btnAttendance);
table.addView(btnSched);
//這是我在實現偵聽器時創建的OnClick方法:
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
BackgroundWorker fetchRiddles = new BackgroundWorker(DashActivity.this,"retrieveRiddles");
switch (arg0.getId()) {
case 1: // in this case i usually put "R.id.Button1:" but my problem is that my buttons are dynamic
fetchRiddles.execute("0,"+username);
break;
case 2:
fetchRiddles.execute("1,"+username);
break;
}
如何確定使用開關單擊了哪個按鈕? 我的按鈕是動態創建的,無需在xml內放置任何按鈕。
您可以通過編程方式設置ID:
btnAttendance = new Button(this);
btnAttendance.setId(100);
btnSched = new Button(this);
btnSched.setId(200);
然后比較:
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
BackgroundWorker fetchRiddles = new BackgroundWorker(DashActivity.this,"retrieveRiddles");
switch (arg0.getId()) {
case 100: // in this case i usually put "R.id.Button1:" but my problem is that my buttons are dynamic
fetchRiddles.execute("0,"+username);
break;
case 200:
fetchRiddles.execute("1,"+username);
break;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.