当用户选择要删除的项目时,我会打开一个alertDialog以确保他想要删除它。当我收到 onClick for BUTTON_POSITIVE 我需要获取要删除的文件名。这在打开警报对话框之前就已经知道了。我尝试使用 setButton(BUTTON_POSITIVE,"是",msg) 并在消息中设置文件名,但我不清楚从哪里得到消息?有人可以澄清或提出更好的实施吗?
下面是单击删除按钮后运行的代码:
public void OnClick(View v)
{
Button b = (Button)v;
CharSequence cs = b.getText();
int id = Integer.parseInt(cs.toString());
AlertDialog alertDialog;
Message msg = new Message();
msg.arg1 = id;
AlertDialog deleteAlert = new AlertDialog.Builder(this).create();
deleteAlert.setTitle("Trigger Remove Alert");
deleteAlert.setMessage("Are you sure you want to remove this trigger?");
deleteAlert.setButton(AlertDialog.BUTTON_POSITIVE, "Yes", msg);
deleteAlert.setButton(AlertDialog.BUTTON_POSITIVE, "Yes", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
//remove Trigger
//boolean b = RemoveTriggerPOI(aid, id);
}
});
deleteAlert.setButton2("No", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
//...
}
});
deleteAlert.show();
}
首先,将id
或cs
定义为:
final int id = Integer.parseInt(cs.toString());
final CharSequence cs = b.getText();
现在只需在对话框按钮的 onClick 侦听器中使用 cs
和id
:
deleteAlert.setButton(AlertDialog.BUTTON_POSITIVE, "Yes", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
//remove Trigger
//boolean b = RemoveTriggerPOI(aid, id);
//SIMPLY USE id OR cs HERE. IT SHOULD WORK
}
});