我制作了自定义列表视图。现在我想为listview添加 onitemclick 方法,但为此需要在主类。我的列表视图的xml代码如下。
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView8"
>
</ListView>
如果我以 android:id =“@ + id / list”的格式更改ID,那么我的应用程序崩溃了.. 所以建议我该怎么做才能解决它?
答案 0 :(得分:1)
如果我以像android:id =“@ + id / list”这样的格式更改id,那么我的 应用程序崩溃
因为如果你在xml中声明了带有@+id/android:list
id的ListVIew,那么你将需要使用android.R.id.list
来初始化ListView instance.in main class这样做:
ListView listview = (ListView) findViewById(android.R.id.list);
或者如果您正在扩展ListActivity,那么您也可以使用getListView()
方法将ListView实例初始化为
ListView listview = Current_Activity_Name.this..getListView();
答案 1 :(得分:1)
只需使用findViewById(android.R.id.list);
即可获得ListView
答案 2 :(得分:0)
你必须做声明
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
然后你必须做
ListView v = (ListView)findViewById(R.id.listView1)
然后
v.setOnItemClick(new onItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
}
});
我认为你不应该使用"@android:id/list"