我正在尝试创建一个 onListItemClick ,它将向用户显示一个包含两个选项的对话框。每个选项都应该调用一个函数来执行特定的操作。我收到的错误是:
不能引用在不同方法中定义的内部类中的非最终变量位置
protected void onListItemClick(ListView l, View v, int position, long id){
final CharSequence[] items = {"Delete", "Show"};
MyPOI mpoi= myAdapter.getItem(position);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick an option");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if(items[item].equals("Delete")){
dbc.deletePOI(position);
}
}
});
AlertDialog alert = builder.create();
alert.show();
super.onListItemClick(l, v, position, id);
}
最佳答案
尝试将位置
设为最终:
protected void onListItemClick(ListView l, View v, 最终 int 位置, long id) {
对于编译器提示的任何其他变量也类似。
关于android - onListItemClick 和 clicklisteners 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5161080/