我按照@CommonsWare answer( How to get a callback when a Spinner popup dialog is dismissed? ) 实现了微调器弹出窗口关闭时的回调。
当我选择一个项目时,一切正常,但当我在微调器的边界外单击时,我在 logcat 上收到此警告:尝试完成输入事件,但输入事件接收器已被释放。
我也已经尝试注册 OnTouchListener,但是当我在外面点击时没有调用任何东西。
谁能告诉我这个警告是什么意思?我已经在谷歌上搜索过了,但什么也没找到。
最佳答案
我也有同样的问题。我有带按钮的 PopupWindow (R.id.imageView1)。我在那个按钮上有回调。我在取消弹出窗口时注销回调 (popupWindow.setOnDismissListener)。
奇怪的是,在 Debug模式下不会出现警告消息。
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);
}
});
}
关于Android Spinner 弹出回调 InputEventReceiver 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22921525/