在旋转器下降时捕获事件被解除

Kan*_*nth 14 android android-spinner drop-down-menu

当旋转器下拉被解雇时,我想要抓住一个事件.当用户点击onItemSelected()中的任何项时,我们可以捕获它.但是,即使用户在下拉区域或后退按钮之外触摸,我也想抓住,因为这些也会让它消失.在我观察日志的这两个原因中,它说"尝试完成输入事件,但输入事件接收器已被处理"

我观察了源代码,这是在finishInputEvent(InputEvent事件,布尔处理)方法中从InputEventReceiver.java打印的.但这是最后一种方法,所以没有必要重写它.有人可以建议在这些情况下解除下拉时的处理方式吗?

Kan*_*nth 1

我已经用Popup MenuSpinner代替了。因为据我所知,微调器无法捕获解雇事件,但是使用弹出菜单,我通过设置onDismissListerner()为弹出菜单来做到这一点

popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {  
             public boolean onMenuItemClick(MenuItem item) {  
              Toast.makeText(MyActivity.this,"Clicked on: " + item.getTitle(),Toast.LENGTH_LONG).show();  
              return true;  
             }  
            });  
popup.setOnDismissListener (new PopupMenu.OnDismissListener(){

public void onDismiss()
{
   //catch dismiss event here.
}
});
Run Code Online (Sandbox Code Playgroud)