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)所返回的组件),通过此组件找到它的子组件。然后对子组件进行对应的操作。

listView.getChildAt(i)时java.lang.NullPointerException的更多相关文章

  1. Android开发报错系列(一),java.lang.NullPointerException,at android.widget.ListView.setupChild

    问题描述:运行代码是报空指针错误,java.lang.NullPointerException,at Android.widget.ListView.setupChild 问题定位:listview控 ...

  2. Spring异常解决 java.lang.NullPointerException,配置spring管理hibernate时出错

    @Repository public class SysUerCDAO { @Autowired private Hibernate_Credit hibernate_credit; /** * 根据 ...

  3. 新人踩坑的一天——springboot注入mapper时出现java.lang.NullPointerException: null

    来公司的第二周接到了定时任务的开发需求:每天早上十点发送用户报表邮件 .校招新人菜鸟没做过这玩意有些懵(尴尬)于是决定分步写,从excel导出->邮件发送->定时器实现->mappe ...

  4. Maven打包时出现“Show Console View”错误弹出框,错误详情为“An internal error has occurred. java.lang.NullPointerException”的解决方法

    今天为项目打包时出现了下面的错误提示: 打开Details里面写的是“An internal error has occurred. java.lang.NullPointerException”.在 ...

  5. 项目启动时 Exception in thread "HouseKeeper" java.lang.NullPointerException

    首先查看是否是端口冲突引起,在日志信息该错误位置往上找,如果再无错误信息,而只有该错误,则原因可能如下: 原因: This is because Proxool is not being shutdo ...

  6. 分析java.lang.NullPointerException thrown in RelativeLayout measure()

    典型的再现环境 模型: Sony Ericsson Android version: 2.3.4 StackTrace: E/AndroidRuntime( 3579): FATAL EXCEPTIO ...

  7. GUI学习中错误Exception in thread "main" java.lang.NullPointerException

    运行时出现错误:Exception in thread "main" java.lang.NullPointerException 该问题多半是由于用到的某个对象只进行了声明,而没 ...

  8. jsp发布:Could not publish server configuration: null. java.lang.NullPointerException

    1.jsp发布: Could not publish server configuration: null. java.lang.NullPointerException

  9. java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)

    采用SSH框架时出现了 java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage ...

随机推荐

  1. GIT(1)----更新代码和上传代码操作的步骤

    1.第一次下载代码 a.首先获得下载的地址,可从服务器,或者GitHut上获得.例如http://100.211.1.110:21/test/test.git b.终端里切换到想要将代码存放的目录,在 ...

  2. SVN服务端的版本对比及创建仓库时的注意事项

    SVN是一个开放源代码的版本控制系统,分为客户端和服务端.就windows系统而言,客户端通常使用 TortoiseSVN,下载地址:https://tortoisesvn.net/  ,而服务端通常 ...

  3. Arcgis Runtime for andriod 100 Simple marker symbol

    GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); 58 mMapView.getGraphicsOverlays().add(graph ...

  4. DocumentManager 在标签位置显示气泡框 z

    关于DevExpress DockManager下的DocumentManager头部标签如何显示气泡框,类似Visual studio那样显示文件的路径,如下图所示,------- 方式很简单,从工 ...

  5. apt-get无法下载,一些网址Not Found 404

    apt-get无法下载,网址报 Not Found 404,原因是apt软件下载源有问题. 1.将/etc/apt/source.list里的内容替换. 在其他能够下载apt的ubuntu机器中拷贝过 ...

  6. SVN环境

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

  7. 各种语言的注释总结--from wiki

    Comments can be classified by: style (inline/block) parse rules (ignored/interpolated/stored in memo ...

  8. 如何搭建 LNMP环境

    和LAMP不同的是LNMP中的N指的是是Nginx(类似于Apache的一种web服务软件)其他都一样.目前这种环境应用的也是非常之多. Nginx设计的初衷是提供一种快速高效多并发的web服务软件. ...

  9. FastJson和Gson和Json数据解析分析和用法

    首先分析下目前号称最快的FastJson,这个是所有人都验证过的,解析速度确实比较快,不过也需要根据数据量来看,数据量小的时候,Gson性能要稍微优于FastJson,但在数据量大解析的情况下,Fas ...

  10. Guava Files 源码分析(二)

    createTempDir()之后就没有什么有意思的函数了,基本上都是对Java IO函数操作的聚合,只看一个simplifyPath() /** * Returns the lexically cl ...