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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 三节锂电池充电芯片,IC设计模块的几种电路

    三节锂电池充电芯片,IC设计模块的几种电路三节锂电池串联在一起的电池组是3.7V*3个=11.1V,11.1V是常规标称电压,充满的话是4.2V*3个=12.6V。我们需要给锂电池充电的话,就需要充满12.6V了。我们一般给三节锂电池充电的话,有2种方式:是USB口输入,5V输入升压型, 是高压15V-20V输入,降压型 锂电池充电芯片 输入电压范围 充电电流 可调 锂电池 (串联) 充电电压 ..

    2022年9月1日
    4
  • mysql读写分离怎么实现(数据库读写分离实现)

    为什么要实现mysql读写分离大型网站为了解决大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。​利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服…

    2022年4月17日
    182
  • python 朋友圈接口_微信开发Python微信– 分享接口(分享到朋友圈、朋友、空间)…

    python 朋友圈接口_微信开发Python微信– 分享接口(分享到朋友圈、朋友、空间)…本文将带你了解微信开发Python微信–分享接口(分享到朋友圈、朋友、空间),希望本文对大家学微信有所帮助。生成JS-SDK权限验证的签名获取signature(签名)首先要获得1、#获得jsapi_ticket2、#获取当前页面的url#获取当前页面的url  url=””{}://{}{}””.format(self.request.protocol,self.request.host,s…

    2022年6月8日
    85
  • [转载]利用memcached在多台服务器之间共享PHP的session数据

    [转载]利用memcached在多台服务器之间共享PHP的session数据

    2021年9月24日
    43
  • ZOJ1586

    ZOJ1586

    2021年8月25日
    55
  • 人工智能猴子摘香蕉问题的逻辑表示_猴子拿香蕉实验感悟

    人工智能猴子摘香蕉问题的逻辑表示_猴子拿香蕉实验感悟猴子摘香蕉问题:一个房间里,天花板上挂有一串香蕉,有一只猴子可在房间里任意活动(到处走动,推移箱子,攀登箱子等)。设房间里还有一只可被猴子移动的箱子,且猴子登上箱子时才能摘到香蕉,问猴子在某一状态下(设猴子位置为A,箱子位置为B,香蕉位置在C),如何行动可摘取到香蕉。代码样例:#includestructState{ intmonkey;//-1:MonkeyatA

    2022年9月26日
    3

发表回复

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

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