解决方法是:
在ListView显示列表的时候,必须在main.xml文件里加上ListView这一个控件把标签ListView的id改为“android:id/list” 这个id表示是系统自带的id,因为如果是你在main.xml里定义的listView不用默认的id.你可以去查看R.java这里id只代表一个控件,并不是layout但是这里需要的id是一个layout所以这样写只能是layout所有会报错,如果把listView单独定义为一个xml文件 ,那么他生成 的id为layout对应的id,这样再R.id.list就不会出错了……
如果一定要使用ListView定义在main.xml文件里面需要用到Adapter的另一个构造方法:
ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)
第二第三个参数,需要加上list_item.xml和需要显示的TextView的id,指定数据显示的layout和显示的控件
如果用到了getListView()方法 ,那么也必须在main.xml文件 里定义一个ListView,并且id必须为android.R.id.list
当我们在主Activity里调用了;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.list_view,
new String[]{"title","info","img"},
new int[]{R.id.title,R.id.info,R.id.img});
setListAdapter(adapter);
其中调用用了setContentView(R.layout.man)的时候,如果要用ListView显示列表,就必须,在main.xml文件里添加控件ListView且id为android:id/list
如果把上面的setContentView(R.layout.man)去掉,再用ListView显示列表,也不会出错。。。。。。