android ListView is not a view

来源:互联网 发布:笑傲江湖武功 知乎 编辑:程序博客网 时间:2024/04/29 16:44

今天在学习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);
 }