如何获得与按下按钮相关的数据?
问题描述:
当用户选择要删除的项目时,我打开一个alertDialog以确保他想删除它。当我得到BUTTON_POSITIVE的onClick时,我需要获取要删除的文件名。这是打开alertDialog之前已知的。我尝试使用setButton(BUTTON_POSITIVE,“是”,味精),并在消息中设置文件名,但它不清楚我在哪里得到的消息?有人可以澄清或提出更好的实施?如何获得与按下按钮相关的数据?
下面是点击删除按钮后,运行该代码:
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();
现在只需使用cs
和id
对话框按钮的的onClick内听众:
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
}
});
它很简单,向我们显示代码,以便我们可以建议做什么 – waqaslam 2012-04-11 06:24:22
将代码添加到问题 – Simon 2012-04-11 06:59:33
是** cs **和** id **您想要在单击对话框上的按钮时访问的值? – waqaslam 2012-04-11 07:05:46