我关注@CommonsWare回答(How to get a callback when a Spinner popup dialog is dismissed?)以在微调器弹出窗口关闭时实现回调。
当我选择一个项目时,一切正常,但当我在微调器的边界外单击时,我在logcat上收到此警告:尝试完成输入事件但输入事件接收器已经被处理掉。
我已经尝试过注册OnTouchListener,但是当我点击外面时没有任何内容被调用。
有人能告诉我这个警告意味着什么吗?我已经用Google搜索了,但没有发现任何内容。
答案 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()方法。
仔细检查您的代码!