今天在学习android的ListView时,在XML布局文件里布局列表时,用的是ListView,代码中用SimpleAdapter绑定数据,然后运行时出现错误,错误提示为:ListView is not a view。在网上搜索这个错误信息,但是没有搜索到,然后我又搜索了simpleadapter的用法,此时我才发现原来是我的XML出错了,应该用TextView而不是ListView。。
<TextView
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/view2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
(以前的错误代码
<ListView
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ListView
android:id="@+id/view2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PrepareDate();
SimpleAdapter adapter=new SimpleAdapter(this,data,R.layout.list_view,new String[]{"姓名","性别"},new int[]{R.id.view1,R.id.view2});
listview=new ListView(this);
listview.setAdapter(adapter);
setContentView(listview);
}
private void PrepareDate(){
data=new ArrayList<Map<String,Object>>();
Map<String,Object> item;
item=new HashMap<String,Object>();
item.put("姓名", "张三");
item.put("性别","男");
data.add(item);
item=new HashMap<String,Object>();
item.put("姓名", "张三");
item.put("性别","男");
data.add(item);
item=new HashMap<String,Object>();
item.put("姓名", "张三");
item.put("性别","男");
data.add(item);
}