如何获得在Android中单击的Listview项目的值?
问题描述:
我有下面的代码访问ListView的项目值到字符串中,并显示在警报?如何获得在Android中单击的Listview项目的值?
ListView shot = getListView();
shot.setOnItemClickListener(this);
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
String S = arg1.getContext().toString();
AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
// set the message to display
alertbox.setMessage(S).show();
}
答
也许这个例子可以帮助你
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
https://developer.android.com/reference/android/widget/ListView.html
答
也许你可以试试这个
String data = (String)shot.getItemAtPosition(arg2);
AlertDialog.Builder adb = new AlertDialog.Builder(arg1.getContext());
adb.setMessage(data).show();
答
这给你的项目的精确值点击。检查日志
ListView shot = getListView();
shot.setOnItemClickListener(this);
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
String val =(String) parent.getItemAtPosition(position);
System.out.println("Value is "+val);
}
+0
为我启动了一个ClassCastException! – bofredo 2013-04-03 13:33:43
请多花点心思问问题。我无法完全理解你的问题。你想做什么?什么工作什么不是? – Janusz 2010-06-07 10:02:59
提示:请勿使用'arg0','arg1'等作为参数名称。它使源代码完整无法读取。其中之一就是你正在寻找的信息,所以如果你使用了正确的名字,你就不需要问这个问题。 – RoToRa 2010-06-07 10:18:20