当前位置: 移动技术网 > IT编程>移动开发>Android > Android为TV端助力之解决setOnItemSelectedListener一进来就自动执行一次的问题

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

2019年03月31日  | 移动技术网IT编程  | 我要评论

安安听书,战族传说,摄政王的拽丫头

我们经常会遇到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;
}

}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网