解决方案 »

  1.   

    ListView 的xml文件属性加上“
        android:descendantFocusability="blocksDescendants"”在listview里找到getview方法,判断获取焦点与否,有就可视,没有就为“gone”
      

  2.   

    我的item里有三个imagebutton,每个button都有不一样的事件,也就是说imagebutton要能获取到焦点的,三个可以分别点击。
    android:descendantFocusability="blocksDescendants"加上这个属性的话 item里面的 imagebutton就获取不了焦点了。
      

  3.   

    yes,Button是可以获得焦点的控件。。CheckBox也一样。。
      

  4.   

    OnItemSelectedListener 没用,有 BUG ,每切换一次 Item 的时候,Item 背景会闪一下,而且当焦点消失的时候 Activity 会去找第一个添加进来的有焦点的控件,也就是说每当切换一次 Item ,焦点消失-->焦点跳到ListView之外的控件-->焦点再跳回下一个Item 。
    不过问题已经解决了,我用 TableLayout 代替 ListView 实现,不会有上述 BUG 
      

  5.   

    listview的焦点很好解决的,你要你的子项先获取焦点,获取方法android:descendantFocusability="beforeDescendants",这样你的每个子项都能获取到焦点,listview 实现 setOnItemSelectedListener 然后在回调里实现以下代码即可,
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
       mListView.clearFocus();
       ViewGroup viewGroup = (ViewGroup) view;
       viewGroup.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
       viewGroup.requestFocus();
    }
    或许有更好的实现。
      

  6.   

    你好我的问题跟你有点像,我的listView中没有button,所以item可以获得焦点,但是我用遥控器上下键移动时,如何改变item的背景,获得焦点的item改变