gpt4 book ai didi

java - android中如何判断点击了哪个动态按钮?

转载 作者:太空宇宙 更新时间:2023-11-04 10:54:02 29 4
gpt4 key购买 nike

我正在 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;
}

如何使用 switch 确定点击了哪个按钮?我的按钮是动态创建的,无需在 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;
}

关于java - android中如何判断点击了哪个动态按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47493164/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com