当前位置:编程学习 > wap >>

Su易做图ceView与ListView的focus问题

先介绍一下系统的布局,在一个FrameLayout里有一个ListView和RelativeLayout(作为su易做图ceVuew的容器)。su易做图ceVuew位于屏幕底部,listView在它上面。

主Activity的onCreate方法中加载Su易做图ceView(画出一个底部的界面,里面有固定的几个Bitmap,可以循环移动,每移动到某一个图标上弹出listView)与ListView(做弹出菜单,点击某一项进行特定的操作)。

在操作listView的时候对按键进行监听,按上下键在listView子项里移动,按左右键退出listView,focus回到下面的su易做图ceView可以继续在Bitmap上循环移动。

现在的问题是在listView弹出后按左右键都无效,不能返回到su易做图ceView,

       //初始化界面listView不可见,su易做图ceView获得焦点
                  this.listView.setFocusable(false);
       this.listView.setVisibility(View.GONE);
  this.container.addView(this.su易做图ceView);
  this.su易做图ceView.requestFocus();
                  //移动后弹出listview,listView获得焦点
                  this.listView.setItemsCanFocus(true);
                  this.listView.setDividerHeight(0);
     this.listView.setFocusable(true);
     this.listView.setFocusableInTouchMode(true);
  this.listView.requestFocus();
       this.listView.setVisibility(View.VISIBLE);                    

然后在onKeyDown里监听DPAD_RIGHT,如果是右键(左键一样)按下就把焦点从listView切回se易做图ceView

case KeyEvent.KEYCODE_DPAD_RIGHT:
this.listView.setFocusable(false);
su易做图ceView.setFocusable(true);
su易做图ceView.setFocusableInTouchMode(true);
su易做图ceView.requestFocus();
return true;


但是按右键没反应,请问大家有什么好的方法实现focus的切换吗? --------------------编程问答-------------------- --------------------编程问答-------------------- 在XML中
在你当前控件上加 android:nextFocusRight="你想切换到得另一个控件的ID"

试试是否可行 --------------------编程问答--------------------
引用 2 楼  的回复:
在XML中
在你当前控件上加 android:nextFocusRight="你想切换到得另一个控件的ID"

试试是否可行

试过了 不行。
我尝试在油价监听的代码里去调用su易做图ceView的draw方法,从新绘制su易做图ceView,但是没反应
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,