我有一个Android应用程序,它主要是一个显示本地文件的WebView包装器。 WebView获取事件,因为调用了setContentView(thewebview)。这在大多数时候都很好用(因为我们也在在线版本中处理Android Webkit Browser)。
问题是我想添加对D-Pad / Trackball事件的支持。我已经编写了相应的onKeyDown,但WebView正在使用事件,而不是活动。
这可以通过两种方式解决:
问题是我不知道该怎么办。我怎么能这样做或以不同的方式解决这个问题?
答案 0 :(得分:2)
使用View.setOnKeyListener()处理KeyEvents,只需“捕获”WebView上的按键。
public void setOnKeyListener (View.OnKeyListener l)
注册在此视图中按下某个键时要调用的回调。
在您的示例中将使用如下:
thewebview.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
// do your stuff here
}
});