当从custom.xml文件桥接时,在Custom.Class中检测不到ListView ..我做了一些愚蠢的错误请纠正我..
public class Custom extends Activity {
/* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.custom);
ListView lv=(ListView)findViewById(R.id.list); // list is not detected..showing error
}
}
XML自定义
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
答案 0 :(得分:1)
替换
<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
与
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
每当您想id
View
时,您必须使用android:id="@+id/your_id
答案 1 :(得分:1)
android:id="@+id/list"
使用符号@ +添加新id
答案 2 :(得分:0)
更改以下内容 - android:id="@+id/list"
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
现在以下将检测清单 -
ListView lv=(ListView)findViewById(R.id.list);
如果您想使用@android:id / ..引用Android系统中已定义的Android资源,同时访问您在项目中定义/创建的资源,则使用@id /.
检查此SO - Difference between "@id/" and "@+id/" in Android
因此,对于您的情况,您还可以按android:id="@android:id/list"
定义列表视图
您也可以查看Android: id list view
答案 3 :(得分:0)
使用@id / android:list用于引用ListActivity中的默认列表。
您可以将Activity更改为ListActivity,并使用getListView()方法在活动代码中引用ListView。例如:
public class Custom extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom);
ListView lv = getListView();
}
}
或者其他人建议你可以使用:
android:id="@+id/list"
而不是:
android:id="@id/android:list"