gpt4 book ai didi

android - 如何识别从动态生成的表中单击的按钮

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:51 25 4
gpt4 key购买 nike

我正在从字符串数组动态填充表格。表格的每一行还有一个加号和减号按钮来增加/减少一列的值。这些按钮也像下面的代码一样动态创建。在这里,如何在单击时检测到确切的按钮。 IE;如果我点击第二行的“+”按钮,我怎样才能获得点击按钮的 ID 以进行进一步处理。

 plusButton= new Button(this);
minusButton= new Button(this);
createView(tr, tv1, names[i]);
createView(tr, tv2, (String)(names[i+1]));
minusButton.setId(i);
minusButton.setText("-");
minusButton.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
plusButton.setId(i);
plusButton.setText("+");
plusButton.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));`

最佳答案

您可以为每个按钮设置一个onClickListener 监听器。在 onClick() 方法中使用 view.getId() 方法中的按钮 ID 来识别按钮点击。

你可以像这里一样为每个按钮添加单独的监听器(假设你为每个按钮设置的id对应一行)

minusButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
// Do some operation for minus after getting v.getId() to get the current row
}
}
);

编辑:

我假设您的代码是这样的。如有偏差请指正。

Button minusButton = null;
for(int i = 0; i < rowCount; i++)
{
minusButton = new Button(this);
minusButton.setId(i);
// set other stuff and add to layout
minusButton.setOnClickListener(this);
}

让您的类实现接口(interface) View.OnClickListener 并实现 onClick() 方法。

public void onClick(View v){
// the text could tell you if its a plus button or minus button
// Button btn = (Button) v;
// if(btn){ btn.getText();}
// getId() should tell you the row number
// v.getId()
}

关于android - 如何识别从动态生成的表中单击的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15658144/

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