ListView ls=(ListView)findViewById(**R.id.list**);
ls.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
AlertDialog.Builder adb=new AlertDialog.Builder(ListAllTracks.this);
adb.setTitle("LVSelectedItemExample");
// adb.setMessage("Selected Item is = "+String.valueOf(ls.getItemIdAtPosition(position)));
adb.setPositiveButton("Ok", null);
adb.show();
}
});
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
答案 0 :(得分:5)
使用android id是可以的。只需更改您的代码即可使用
findViewById(android.R.id.list)
你将完成它
答案 1 :(得分:1)
变化
<ListView android:id="@android:id/list"
到
<ListView android:id="@+id/android:list"
将您的活动扩展为ListActivity
public class myActivity extends ListActivity {
然后覆盖onListItemClick函数。
@Override
protected void onListItemClick(ListView l, View v, final int position, long id) {
super.onListItemClick(l, v, position, id);
AlertDialog.Builder adb=new AlertDialog.Builder(ListAllTracks.this);
adb.setTitle("LVSelectedItemExample");
// adb.setMessage("Selected Item is = "+String.valueOf(ls.getItemIdAtPosition(position)));
adb.setPositiveButton("Ok", null);
adb.show();
}
答案 2 :(得分:1)
<ListView android:id="@+id/android:list" >
做到这一点
请在此处查看答案中的更多详情
答案 3 :(得分:-1)
应该是这样的:
<ListView android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
通常,如果视图ID没有出现在资源类中(例如R.id.????
),那就表明XML布局存在问题。
我目前正在使用以下代码,它对我有用。我使用ListActivity 不。相反,我将ListView控件放在标准Activity中。我正在使用自定义适配器,但如果需要,您可以使用标准ArrayAdapter
。
List<Unit> unitList = ... get my list of stuff ...
ListView unitListView = (ListView)findViewById(R.id.unitListView);
UnitListItemAdapter adapter = new UnitListItemAdapter(this, unitList);
unitListView.setAdapter(adapter);