如题,电视盒子上的开发,只能通过焦点去控制
或者这么问:
如何在程序中获取当前ListView选中的Item的position?
并不是onItemSelected,而是这个操作已经进行了之后,焦点要离开ListView,这时候要更新已选中的Item的背景色,是在不知道怎么办
如题,电视盒子上的开发,只能通过焦点去控制
或者这么问:
并不是onItemSelected,而是这个操作已经进行了之后,焦点要离开ListView,这时候要更新已选中的Item的背景色,是在不知道怎么办
listView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (v.getId() == R.id.listView && !hasFocus) {
//updateDatas()更新已选中的Item的背景色
adapter.updateDatas();
adapter.notifyDataSetChanged();
}
}
});
getListView().setOnKeyListener(this);
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// Make the newly clicked item the currently selected one.
if(event.getAction()==KeyEvent.ACTION_UP) {
int currentItemPosition = this.getSelectedItemPosition();
Log.d("stl", "onKey position: " + currentItemPosition);
//do what you want
}
return false;
}
2 回答1.4k 阅读✓ 已解决
2 回答2.7k 阅读
2 回答1.8k 阅读
1 回答2.1k 阅读
1 回答1.2k 阅读
1 回答1.4k 阅读
1 回答640 阅读✓ 已解决
我根据你的描述
1.你是不是想点击listview 的item时 设置被点击时的一瞬间的效果
2.还是像新闻一样点击了 记录所有被点击的item 改变颜色。
如何是前者就只要使用 再drawable 中创建XML 使用selector
后者的话 我也没做过这类的 不过我自己的思想是 你做个标记 根据标记改变item背景颜色 这个应该可以实现的
或者查看listview 是否提供了相应的方法