我在avtivity上面由一个popuwindow,里面是个网格视图,可是键盘只可以在上下移动,我按别的键都没反应,我想给别的键也加上事件,但是不知道怎么给加,求解?

解决方案 »

  1.   

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
    //你的代码
    return true;
    }
      

  2.   

    public void mune2(View v) {
    v = new View(this);
    GridAdapter ga ;
    Downfile dfile = new Downfile();
    for (int i = 0; i < playList.size(); i++) {
    arraylist.add(dfile.loadLogo(i));
    }
    WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
    if (popupWindow == null ) {
    LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    view = layoutInflater.inflate(R.layout.popu, null);
    System.out.println("ppopopop");
    grid = (GridView) view.findViewById(R.id.grid);
    ga = new GridAdapter(arraylist, this);
    grid.setAdapter(ga);
    int x = windowManager.getDefaultDisplay().getWidth() / 4 * 3;
    int y = windowManager.getDefaultDisplay().getHeight() / 4 * 3;
    // 创建一个PopuWidow对象
    popupWindow = new PopupWindow(view, x, y);
    }
    我是想在那个popuwindow上按下键盘事件做相应的动作,可是执行不了。这个mune2()方法在avtivity里面,我已经在这个方法外继承了onKeyDown,如果想让popuwindow也能有事件处理,我该怎么加啊?
      

  3.   

    这么简单?好吧,可是真不会,我把grid加上监听后,原来的上下左右事件就要自己写了,怎么让grid视图里焦点改变啊?