Android 在for循环中将参数传递给onclick事件的方法
我正在搜索如何在我的应用程序中添加删除按钮,并在函数中从我的代码中接收idAndroid 在for循环中将参数传递给onclick事件的方法,android,parameter-passing,onclicklistener,Android,Parameter Passing,Onclicklistener,我正在搜索如何在我的应用程序中添加删除按钮,并在函数中从我的代码中接收id for (int i = 0; i < separated_rows.length; i++) { separated_entries = separated_rows[i].split("<cut>"); Button btnDelete = new Button(getBaseContext()); btnDelete.setText("Lös
for (int i = 0; i < separated_rows.length; i++) {
separated_entries = separated_rows[i].split("<cut>");
Button btnDelete = new Button(getBaseContext());
btnDelete.setText("Löschen");
btnDelete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder helpBuilder = new AlertDialog.Builder(MainScreen.this);
helpBuilder.setTitle("Id");
helpBuilder.setMessage("Id: " + separated_entries[6]);
helpBuilder.setNeutralButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//do nothing
}
});
AlertDialog helpDialog = helpBuilder.create();
helpDialog.show();
}
});
rowOptions.addView(btnDelete);
table.addView(rowOptions,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
for(int i=0;i
分离的_条目[6]包含我现在想在警报对话框中显示的id。但是我遇到了分离的_条目[6]的问题始终包含最后一个ID,而不是与当前条目匹配的ID,因此按钮会为所有项目显示相同的ID。是否可以将ID传递到OnClickListener函数中,然后它会工作?如果是,我将如何做?尝试更改此行
helpBuilder.setMessage("Id: " + separated_entries[6]);
到
看起来每行都有一个删除按钮 如果是这样,最简单的方法可能是将每个btnDelete的标记设置为要删除的项目的id。创建按钮后:
Button btnDelete = new Button(getBaseContext());
btnDelete.setTag(Integer.valueOf(someId);
...
然后在onClickListener中,您可以轻松检索该id:
public void onClick(View v) {
int theIdSetAbove = (Integer)v.getTag();
...
此外,这应该允许您创建一个OnClickListener,并在所有删除按钮之间共享它。有任何答案有用吗?
public void onClick(View v) {
int theIdSetAbove = (Integer)v.getTag();
...