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


相关推荐

  • Precision,Recall,F1score,Accuracy的理解

    Precision,Recall,F1score,Accuracy的理解Precision,Recall,F1score,Accuracy四个概念容易混淆,这里做一下解释。假设一个二分类问题,样本有正负两个类别。那么模型预测的结果和真实标签的组合就有4种:TP,FP,FN,TN,如下图所示。这4个分别表示:实际为正样本你预测为正样本,实际为负样本你预测为正样本,实际为正样本你预测为负样本,实际为负样本你预测为负样本。那么Precision和Recall表示什么意思?一般

    2022年10月14日
    2
  • 英国伯明翰骗子_雅思高频词汇

    英国伯明翰骗子_雅思高频词汇下面的所有词汇与例句都是在英国留学期间,用到的、听到的、见到的,都是学校、教职人员、同学使用过的,对于高频词汇一定要掌握听说读写。

    2022年8月24日
    9
  • impala实战篇

    impala实战篇第 1 章 impala 基本概念 1 什么是 impalaCloude 公司推出 提供对 HDFS Hbase 数据的高性能 低延迟的交互式 SQL 查询功能 基于 Hive 使用内存计算 兼顾数据仓库 具有实时 批处理 多并发等优点 是 CDH 平台首选的 PB 级大数据实时查询分析引擎 1 1Impala 的优缺点 1 1 1 优点基于内存运算 不需要把中间结果写入磁盘 省掉了大量的 I O 开销 无需转换 MapReduce 直接访问存储在 HDFS HBase 中的数据进行作业调度 速度快 使用了支持

    2025年9月3日
    2
  • 【自然语言处理】知识图谱之知识推理「建议收藏」

    【自然语言处理】知识图谱之知识推理「建议收藏」1.知识推理的分类归纳推理归纳推理所推出的结论是没有包含在前提内容中的。由个别事物推出一般性的知识的过程,是以为增殖新知识的过程。演绎推理:在已知领域内的一般性知识的前提下,通过求解一个具体的问题,或者证明一个结论的正确性。它所得出的结论,实际上早已蕴含在一般性的知识的前提中。演绎推理只是将已有的事实揭露出来,因此不能增殖新的知识。确定性推理多数时候是指逻辑推理,具有…

    2022年5月24日
    75
  • nyoj 130 同样的雪花 【哈希】

    nyoj 130 同样的雪花 【哈希】

    2021年12月14日
    40
  • datagrip激活码 2021【在线注册码/序列号/破解码】

    datagrip激活码 2021【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    199

发表回复

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

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