将位置传递给Onclick
问题描述:
我正在使用一个列表,并且我希望为每个列表项目显示不同的AlertDialog,并在此AlertDialog中单击“是”或“否”按钮时显示不同的消息。将位置传递给Onclick
list.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id){
dialogBox.setMessage(dialogBoxMessage[position]);
dialogBox.setNegativeButton("No", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
Toast.makeText(getApplicationContext() , resultOfNoClick[position] , Toast.LENGTH_SHORT);
}
});
}
});
的“resultOfNoClick”是一个字符串数组,其中包含每一个需要被示出为“否”单击上ListView中的特定项的字符串。所以,有一种方法可以将位置(通过“onItemClick”接收的变量)作为参数传递给上面的“onClick”函数?
答
使它成为一个最终变量:
list.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View v, final int position, long id){
dialogBox.setMessage(dialogBoxMessage[position]);
dialogBox.setNegativeButton("No", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
Toast.makeText(getApplicationContext() , resultOfNoClick[position] , Toast.LENGTH_SHORT);
}
});
}
});