Android Spinner弹出回调InputEventReceiver警告

时间:2014-04-07 19:38:44

标签: android android-spinner

我关注@CommonsWare回答(How to get a callback when a Spinner popup dialog is dismissed?)以在微调器弹出窗口关闭时实现回调。

当我选择一个项目时,一切正常,但当我在微调器的边界外单击时,我在logcat上收到此警告:尝试完成输入事件但输入事件接收器已经被处理掉。

我已经尝试过注册OnTouchListener,但是当我点击外面时没有任何内容被调用。

有人能告诉我这个警告意味着什么吗?我已经用Google搜索了,但没有发现任何内容。

2 个答案:

答案 0 :(得分: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 :(得分:-1)

我之前遇到过这个问题,似乎我过早关闭了onCreate()方法。

仔细检查您的代码!