Android ListView默认选中某一项[通俗易懂]

Android ListView默认选中某一项[通俗易懂]很多时候,在listview加载数据之后,我们希望默认选中第一项,然后我们在setAdapter之后写上如下代码:listview.getChildAt(0).setBackgroundResource(R.color.white);发现程序崩溃:NullPointerException,事实上,setAdapter()是异步的 ,调用了这个方法之后ListView的item并没

大家好,又见面了,我是你们的朋友全栈君。

很多时候,在listview加载数据之后,我们希望默认选中第一项,然后我们在setAdapter之后写上如下代码:

listview.getChildAt(0).setBackgroundResource(R.color.white);

发现程序崩溃:
NullPointerException,事实上,setAdapter() 是异步的 ,调用了这个方法之后 ListView 的 item 并没有立马创建,而是在下一轮消息处理时才创建。

解决办法:使用 post() 提交一个 Runnable() 对象,在 Runnable() 内部来做默认选中这种初始化动作

<span style="font-size:18px;"> //默认选择第一项
        listListview.post(new Runnable() {
            @Override
            public void run() {
                listListview.getChildAt(0).setBackgroundResource(R.color.white);
            }
        });</span>


假如listView对点击事件不响应,我们可以通过对ItemLayout的根控件设置其android:descendantFocusability=”blocksDescendant”即可,这样ItemLayout就屏蔽了所有子控件获取Focus的权限,不需要针对ItemLayout中的每一个控件重新设置focusable属性了,如此就可以顺利的响应onItemClickListener中的onItenClick()方法了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160583.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软引用和弱引用的区别_强引用软引用弱引用虚引用的区别

    软引用和弱引用的区别_强引用软引用弱引用虚引用的区别示例代码:importjava.lang.ref.SoftReference;/***@authorchenjc*@since2020-01-13*/publicclassSoftReferenceTest{/***使用JVM参数-Xmx10m运行程序**@paramargs*@throwsI…

    2025年10月6日
    6
  • 三次样条插值Python实现

    三次样条插值Python实现函数 y 11 x2y 11 x2y frac 1 1 x 2 算法分析三次样条插值 就是在分段插值的一种情况 要求 在每个分段区间上是三次多项式 这就是三次样条中的三次的来源 在整个区间 开区间 上二阶导数连续 当然啦 这里主要是强调在节点上的连续 加上边界条件 边界条件只需要给出两个方程 构建一个方程组 就可以解出所有的参数 这里话 根据第一类样条作

    2025年11月29日
    5
  • css3中的width:100vh以及calc(100vh + 10px)

    css3中的width:100vh以及calc(100vh + 10px)vh/vwvh:相对于视窗的高度,视窗被均分为100单位的vh;vw:相对于视窗的宽度,视窗被均分为100单位的vw;vmax:相对于视窗的宽度或高度中较大的那个。其中最大的那个被均分为100单位的vmax;vmin:相对于视窗的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vmin;视区所指为浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小。calccalc是英

    2022年4月29日
    94
  • 【ArcGIS二次开发】鹰眼的实现「建议收藏」

    【ArcGIS二次开发】鹰眼的实现「建议收藏」1、添加程序集usingESRI.ArcGIS.Carto;usingESRI.ArcGIS.Controls;usingESRI.ArcGIS.DataSourcesFile;usingESRI.ArcGIS.Geodatabase;usingESRI.ArcGIS.DataSourcesRaster;usingESRI.ArcGIS.Geometry;usingESRI.ArcGIS.Display;usingESRI.ArcGIS.esriSystem;*出现“命名

    2022年7月23日
    13
  • XAMPP环境的搭建[通俗易懂]

    XAMPP环境的搭建[通俗易懂]XAMPP是一个强大的集成软件包(什么是集成软件包?就是多个软件打包一起安装了,比如office办公软件包括了word、Excel、PPT)XAMPP包括了Apache,MySQL,PHP,Perl

    2022年6月30日
    36
  • 计算机网络期末考试题库(超级多的那种)「建议收藏」

    计算机网络期末考试题库(超级多的那种)「建议收藏」废话不多说,不管是应对期末考试还是考研基础复习,刷题是必不可少的!!!大家冲就完了!!!!记得给罡罡同学点关注哦!后期还会更新其他题库的呢!!!点关注!!!点关注!!!点关注!!!谢谢另外还有4套模拟题哦!!!计算机网络试题库——选择题及答案(共500题)1、Internet中发送邮件协议是(B)。A、FTPB、SMTP C、HTTP D、POP2、在OSI模型中,第N层和其上的N+l层的关系是(A

    2022年6月28日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号