Android为TV端助力之解决setOnItemSelectedListener一进来就自动执行一次的问题

我们经常会遇到listview或者其他view设置setOnItemSelectedListener监听时,一加载界面,setOnItemSelectedListener监听就会自动执行一遍,导致你第一次移动上去的时候setOnItemSelectedListener监听就不会走的

所以我们采用自定义listview,主动来调用setOnItemSelectedListener监听回调,代码如下

public class MyListView extends ListView {    private int lastPosition = 0;

    public MyListView(Context context) {        super(context);    }

    public MyListView(Context context, AttributeSet attrs) {        super(context, attrs);    }

    public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    // 一个 item 选中的时候,总是会触发 setSelection 方法// 所以在这个方法中,我们记录并检查上一次的selection position 就行了,如果是相同的,手动调用监听即可

    @Override    public void setSelection(int position) {        super.setSelection(position);        if (position == lastPosition){            getOnItemSelectedListener().onItemSelected(this,getSelectedView,position,0);
        }        lastPosition = position;    }

}

原文地址:https://www.cnblogs.com/xiaoxiaing/p/10627268.html

时间: 2024-11-10 14:32:42

Android为TV端助力之解决setOnItemSelectedListener一进来就自动执行一次的问题的相关文章

Android为TV端助力 外挂字幕(设置颜色,大小,位置,微调字幕)

前提摘要:  可以给电影加字幕,目前支持srt和ass格式, 功能摘要:  支持微调字幕,设置大小,颜色,位置 1 .字幕解析类 package com.hhzt.iptv.lvb_x.utils; import android.os.Handler;import android.util.Log; import com.hhzt.iptv.lvb_x.Constant;import com.hhzt.iptv.lvb_x.log.LogUtil;import com.hhzt.iptv.lvb

Android为TV端助力 listview与recyclerview上下联动

首先是主布局fragment里面的xml文件 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/a

Android为TV端助力 Linux命令查看包名类名

先运行apk 再输入logcat | grep START 查看当前启动apk的包名和类名 adb shell "pm list packages -f | grep com.yulong.android.launcher3" adb shell "pm list packages -f | grep com."显示包名的apk名称 原文地址:https://www.cnblogs.com/xiaoxiaing/p/8241873.html

Android为TV端助力:自定义view之太阳

先看效果图 package com.hhzt.iptv.lvb_w8.view; import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PixelFormat;import android.graphics.PorterDuff;import android.o

Android为TV端助力:(转载)修改TextView字体样式

一.开篇 因为 Android 字体相关的内容还比较多的.有时候其实我们只需要调整一下属性就可以满足设计师的需求,或者是一个退后的方案(毕竟有发版的时间卡住了),有一些效果可以大概满足需求. 那么本文就先介绍一下再 Android 下原生内置的一些字体的一些基本概念和使用. 需要注意的是,内置的一些字体只对英文有效. 二.Android 的默认字体 Android 系统默认使用的是一款叫做 Robote 的字体.Robote 本身就是 Google 自己的字体格式,Android 和 Chrom

Android为TV端助力 使用shared注意事项

不要存放大的key和value!我就不重复三遍了,会引起界面卡.频繁GC.占用内存等等,好自为之! 毫不相关的配置项就不要丢在一起了!文件越大读取越慢,不知不觉就被猪队友给坑了:蓝后,放进defalut的那个简直就是愚蠢行为! 读取频繁的key和不易变动的key尽量不要放在一起,影响速度.(如果整个文件很小,那么忽略吧,为了这点性能添加维护成本得不偿失) 不要乱edit和apply,尽量批量修改一次提交! 尽量不要存放JSON和HTML,这种场景请直接使用json! 不要指望用这货进行跨进程通信

[Java][Android][Process] 暴力的服务可以解决一切,暴力的方式执行命令行语句

无论是在Java或者Android中执行命令行语句殊途同归都是创建一个子进程执行调用可执行文件执行命令,类似于Windows中的CMD一样. 此时你有两种方式执行:ProcessBuilder与Runtime:两种创建方式各有千秋,至于区别详见:[Java][Android][Process] ProcessBuilder与Runtime区别 在Android中创建子进程执行命令的时候有着一定的限制: 1.JVM提供的内存有限. 2.底层缓冲区间大小有限. 3.在高并发情况下容易造成阻塞. 基于

【转载】android客服端+eps8266+单片机+路由器之远程控制系统

用android客服端+eps8266+单片机+路由器做了一个远程控制的系统,因为自己是在实验室里,所以把实验室的门,灯做成了远程控制的. 控制距离有多远------只能说很远很远,只要你手机能上网的地方,不对应该是只要能打电话的地方,不对应该是只要是移动网(我用的是移动的卡)覆盖的地方, 这篇只说明怎么样才能实现远程通信(在路由器上怎样设置,wifi模块eps8266怎样设置),最后会贴上单片机,android的源码 请事先参考我的前几篇文章 android之WIFI小车编程详述, andro

配置Android环境遇到的问题及解决办法

配置Android环境遇到的问题及解决办法: 1 环境安装地址 http://pan.baidu.com/s/1jGzNzyI 2 其他: 2.1 安装 2.1.1 安装JDK,JRE 成功安装之后,进行测试是否真的成功安装,点击[开始]----[运行]----输入 CMD,在命令提示符里面输入"Java -version"并按回车键,出现版本号则安装成功. 2.1.2 安装Adb 2.1.3 打开Eclipse 2.2 配置环境变量: 2.2.1 配置JAVA环境变量 (见下方2.2