2014-04-07 45 views
3

我跟着@CommonsWare回答(How to get a callback when a Spinner popup dialog is dismissed?)來實現一個回調,當微調彈出窗口關閉。Android微調彈出窗口回調InputEventReceiver警告

當我選擇一個項目時,一切正常,但當我點擊微調框邊界之外時,我在logcat上得到這個警告:試圖完成一個輸入事件,但輸入事件接收器已經被處置。

我已經嘗試過註冊OnTouchListener,但是當我在外面點擊時沒有任何東西被調用。

有人可以告訴我這個警告的含義是什麼?我已經google了一下,但沒有發現任何東西。

回答

1

我有同樣的問題。我有PopupWindow帶按鈕(R.id.imageView1)。我對該按鈕有回調。當彈出窗口被忽略時,我註銷回調(popupWindow.setOnDismissListener)。

奇怪的是,在調試模式下不會發生警告消息。

PopupWindow popupWindow; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    //layout for popup window 
    LayoutInflater layoutInflater=  (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE); 
     View popupView = layoutInflater.inflate(R.layout.grid, null); 

     popupWindow = new PopupWindow(
       popupView, 
       ViewGroup.LayoutParams.WRAP_CONTENT, 
       ViewGroup.LayoutParams.WRAP_CONTENT); 
} 

    public void showPopup(View view) { 
      final View popupView=popupWindow.getContentView(); 
      popupView.findViewById(R.id.imageView1).setOnClickListener(new PopupOnClickListener(popupWindow,this)); 

      //required if I want popup to close on click outside popup area 
      popupWindow.setOutsideTouchable(true); 
      popupWindow.setBackgroundDrawable(new BitmapDrawable()); 

      popupWindow.showAsDropDown(view, 50, -30); 
      popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { 
       @Override 
       public void onDismiss() { 
        popupView.findViewById(R.id.imageView1).setOnClickListener(null); 
       } 
      }); 
     } 
-1

我之前有過這個問題,看起來我過早地關閉了我的onCreate()方法。

請仔細檢查您的代碼!

+0

你想與「關我的onCreate()方法太早」說什麼?彈出窗口在onCreate完成後執行。 – jonathanrz