onHoverListener在Android中不起作用

在Android文档中,它提到支持自4.0(“API级别14以上)”的“hover”事件。 但不知何故,这是行不通的。 即使我尝试了ApiDemo中的示例代码,它是从Android示例,它不起作用。 我目前的设备是Android 4.0.4。 我应该升级到4.2.2吗?

示例代码如下所示。 你有解决办法吗? 非常感谢。

码:


View container = findViewById(R.id.container); container.setOnHoverListener(new View.OnHoverListener() { @Override public boolean onHover(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_HOVER_ENTER: mMessageTextView.setText(Hover.this.getResources().getString( R.string.hover_message_entered_at, event.getX(), event.getY())); break; case MotionEvent.ACTION_HOVER_MOVE: mMessageTextView.setText(Hover.this.getResources().getString( R.string.hover_message_moved_at, event.getX(), event.getY())); break; case MotionEvent.ACTION_HOVER_EXIT: mMessageTextView.setText(Hover.this.getResources().getString( R.string.hover_message_exited_at, event.getX(), event.getY())); break; } return false; } }); 

Solutions Collecting From Web of "onHoverListener在Android中不起作用"

hover需要硬件支持。 唯一可能支持它的是手写笔。 它不会用你的手指。

尝试使用OnFocusChangeListener() 。 PS为我工作

我build议在设置中打开“辅助function”和“通过触摸浏览”function。 当这些functionclosures时,hover操作将被视为触摸操作。