先介绍一下系统的布局,在一个FrameLayout里有一个ListView和RelativeLayout(作为surfaceVuew的容器)。surfaceVuew位于屏幕底部,listView在它上面。主Activity的onCreate方法中加载SurfaceView(画出一个底部的界面,里面有固定的几个Bitmap,可以循环移动,每移动到某一个图标上弹出listView)与ListView(做弹出菜单,点击某一项进行特定的操作)。在操作listView的时候对按键进行监听,按上下键在listView子项里移动,按左右键退出listView,focus回到下面的surfaceView可以继续在Bitmap上循环移动。现在的问题是在listView弹出后按左右键都无效,不能返回到surfaceView,        //初始化界面listView不可见,surfaceView获得焦点
                  this.listView.setFocusable(false);
       this.listView.setVisibility(View.GONE);
  this.container.addView(this.surfaceView);
  this.surfaceView.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切回serfaceView case KeyEvent.KEYCODE_DPAD_RIGHT:
this.listView.setFocusable(false);
surfaceView.setFocusable(true);
surfaceView.setFocusableInTouchMode(true);
surfaceView.requestFocus();
return true;
但是按右键没反应,请问大家有什么好的方法实现focus的切换吗?