Андроид счетчик всплывающее окно обратного вызова InputEventReceiver предупреждение


Я следовал ответу @CommonsWare (Как получить обратный вызов, когда всплывающее окно Spinner закрывается?) для реализации обратного вызова при закрытии всплывающего окна spinner.

Когда я выбираю элемент, все работает, но когда я нажимаю за пределы spinner, я получаю это предупреждение на logcat: попытался закончить входное событие, но приемник входного события уже был удален.

Я уже пытался зарегистрировать OnTouchListener тоже, но ничего не вызывается, когда я щелкаю снаружи.

Кто-нибудь может сказать мне, что означает это предупреждение? Я уже погуглил это, но ничего не нашел.
2 3

2 ответа:

У меня та же проблема. У меня есть PopupWindow с кнопкой ( R. id.imageView1). у меня есть обратный вызов на этой кнопке. Я отменяю регистрацию обратного вызова, когда popup disimissed (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);
                }
            });
        }

У меня была эта проблема раньше, и казалось, что я закрывал свой метод onCreate() слишком рано.

Проверьте свой код очень тщательно!