popupwindow代码如下:
   LayoutInflater inflater = this.getLayoutInflater();
   View mView= inflater.inflate(R.layout.imageoper,(ViewGroup)findViewById(R.id.imageoper));
   mPopupWindow = new PopupWindow(mView,LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT, false);
   mPopupWindow.setAnimationStyle(android.R.style.Animation_Dialog);
   mPopupWindow.showAtLocation(findViewById(R.id.switcher), Gravity.CENTER, 0, 0);
   //R.layout.imageoper是popupwindow的布局文件,上面有几个按钮
   
   请问各位大虾:能不能让popupwindow上的按钮也有响应事件?思路是什么?   提供思路和心得,或者提有效的新建议的,都有分,机会难得,多到多得!   谢谢!   

解决方案 »

  1.   

    ?一样啊,imageoper布局里的button,在mPopupWindow创建好后,调用setclicklistener,然后实现onclick事件,和activity中一样的。
      

  2.   

    和你常规的activity的用法是一样的。
    用popupwindow只是相当于给activity换了一个style而已。
      

  3.   


    mPopupWindow没有.setOnClickListener()事件,那样写会有错的!我在mView里实现了.setOnClickListener()事件,但是只有一个按钮管用,其它的没动静!
      

  4.   


    LZ,我其实还实现了一个imageoper的activity,里面的按钮响应都实现了!
    当我用imageoper类的布局给popupwindow布局以后,imageoper类就没用了。
    我想让popupwindow跟imageoper类一样响应自如。谢谢!
      

  5.   

    那你popupwindow是通过什么方式去实现的呢?
      

  6.   

    实际情况是你按照 一般的 findViewbyId(R.id.buttonid); 已经得不到 ID了,肯定会 报空指针的。。
     popupwindow代码如下: 
      LayoutInflater inflater = this.getLayoutInflater(); 
      View mView= inflater.inflate(R.layout.imageoper,
                 (ViewGroup)findViewById(R.id.imageoper)); 
      mPopupWindow = newPopupWindow(mView,LayoutParams.FILL_PARENT,
                    LayoutParams.FILL_PARENT,false); 
      mPopupWindow.setAnimationStyle(android.R.style.Animation_Dialog); 
      mPopupWindow.showAtLocation(findViewById(R.id.switcher),Gravity.CENTER,0,0); 
          //R.layout.imageoper是popupwindow的布局文件,上面有几个按钮 
    所以 你在得到ID的时候应该 加上  PopupWindow 布局view的引用
    mView.findViewById(R.id.你需要相应事件按钮).setOnClickListener();
      

  7.   

    lz悲剧啊,没有一个真懂lz意思的,他的意思是按键响应...不是view的响应。他是指在activity中的onkeydown()事件的捕捉...是这个意思吧?lz
      

  8.   

    见博文:http://www.girlcoding.com/2011/04/popupwindow-custom-menu/