listView.getChildAt(i)时java.lang.NullPointerException
来源:互联网 发布:李德仁 知乎 编辑:程序博客网 时间:2024/05/21 05:05
BaseAdapter返回的是当前屏幕所能显示Item条数的组件,所以通过listView.getChildAt(i);
返回的是当前屏幕所能显示的组件,不能通过listView.getChildAt(i)方法获取除当前屏幕所能显示组件以外的其它组件。所以下面的方法是错误的:
for (int i = 0; i < listView.getCount(); i++){ CheckBox checkBox = (CheckBox)listView.getChildAt(i); //试图通过此方法返回ListView所有的Item中的组件,但是是错误的。}
上面的做法会出现如下异常:
查看源代码可知:
此时通过listView.getChildAt(i);获得的对象应该是null,null对象是没有属性和方法的所以会出现空指针异常。
正确做法:
list.setOnItemClickListener(new OnItemClickListener() { @Override public voidonItemClick(AdapterView<?> parent, View view, int position, longid) { // TODO Auto-generated method stub CheckBoxcheckBox=(CheckBox) view.findViewById(R.id.cbSelect); checkBox.toggle(); if ( checkBox.isChecked()) { // 添加该列表项的电话号码 sendList.add(numList.get(position)); sendName.add(nameList.get(position)); }else { //从群发列表中移除电话号及姓名 sendList.remove(numList.get(position)); sendName.remove(nameList.get(position)); } } });
同样是为了获得用于所选择的Item,这个方法则选择了当用户单击了某个Item时通过回调OnItemClickListener,获取单击的Item中的组件(也就是适配器public View getView(int position, View convertView,ViewGroupparent)所返回的组件),通过此组件找到它的子组件。然后对子组件进行相应的操作。
26 0
- listView.getChildAt(i)时java.lang.NullPointerException
- ListView.getChildAt(i) java.lang.NullPointerException
- ListView的getChildAt(i)方法
- ListView getChildAt
- java.lang.NullPointerException翻译
- java.lang.NullPointerException
- java.lang.NullPointerException
- Java.lang.NullPointerException
- java.lang.NullPointerException
- m2eclipse java.lang.NullPointerException
- java.lang.NullPointerException
- Android(java.lang.NullPointerException)
- java.lang.NullPointerException
- java.lang.NullPointerException
- java.lang.NullPointerException
- java.lang.NullPointerException
- 十一、java.lang.NullPointerException
- Java.lang.NullPointerException
- UVA 11044 (暑假-数学(3) -B-Searching for Nessy)
- c 面试经典
- #ifdef __cplusplus
- hdu4870(高斯消元解概率DP)
- 关于Block的使用
- listView.getChildAt(i)时java.lang.NullPointerException
- BUPT Summer Journey #test5 E
- Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决
- 软件测试技术---其他测试
- 基于Spark on Yarn的淘宝数据挖掘平台
- ThreadLocal深入理解
- 前30个免费云存储服务
- BAT 批处理脚本 教程
- 个就每年投入没看到他一人就看他家的大门,等同于