1
我有一个使用ListActivity的Android应用程序。点击列表中的项目时,我想向用户显示一个确认对话框,然后对点击的项目执行一些操作。Android:在ListView的onItemClick事件中使用AlertDialog
但是,从对话框的onClick处理程序中,我无法从列表onClick事件中访问位置变量,因此我无法确定用户单击了哪个项目。
这里是我想要达到一个例子:
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
// This doesn't work, can't access position from here
Object o = MyListActivity.this.getListView().getItemAtPosition(position);
testFunction(o);
break;
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(MyListActivity.this);
builder.setMessage("Are you sure you want to do this?").setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", dialogClickListener).show();
}
});
我想我可以通过将其存储在活动的成员变量传递信息,但是看起来应该有解决方案更好任何人都可以用正确/合理的方式填补我的空缺吗?
感谢, 安迪
听起来像一个体面的做法,谢谢! –