我想在应用程序设置的第二个活动上有一个菜单,所以我使用了ListView。现在我想根据点击的项目将一些信息放到表格中,即如果点击了电话项目,我想打开一些对话框输入电话号码,但是如果点击了电子邮件项目,我想打开一个对话但是有不同的数据,所以我必须知道单击了哪个项目。以下是它现在的样子:
mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String item = ((TextView)view).getText().toString();
showInputDialog();
}
});
public void showInputDialog() {
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Phone number");
alert.getContext().
// Set an EditText view to get user input
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dataEntry = input.getText().toString();
settingsList.put("phone",dataEntry);
fileManage.writeFile(file, settingsList);
fileManage.readFile(file);
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
alert.show();
}
答案 0 :(得分:0)
为什么不将点击的项目传递给showInputDialog()方法。
public void showInputDialog(String item){}
在onItemClick方法中:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String item = ((TextView)view).getText().toString();
showInputDialog(item);
}
这样您就可以通过点击对话框中的哪个项目进行识别。