Java 如何确定在android中单击了哪个动态按钮?
我正在oncreate中创建一个动态按钮,我没有在XML中添加任何按钮Java 如何确定在android中单击了哪个动态按钮?,java,android,Java,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.set
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;
}
您可以通过编程方式设置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;
}