我有一個簡單的基於WebView的活動,它遵循Hello, WebView示例,以啓用JavaScript並超載shouldOverrideUrlLoading()
。WebView JavaScript鏈接在觸摸時起作用,但在使用軌跡球時不起作用
此活動在用戶觸摸網頁上的鏈接時效果很好。但是,如果用戶使用軌跡球並單擊鏈接,則生成的頁面加載將顯示JavaScript禁用的頁面。
public class ViewUrl extends Activity {
protected WebView view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_url);
final String url = "http://www.opentable.com/phone/reviews.aspx?rid=2947";
view = (WebView) findViewById(R.id.widget1);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl(url);
view.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
}
}
的view_url.xml文件很簡單:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/widget1" />
</RelativeLayout>
下面是既顯示了正確和不正確的行爲的一些截圖。
點擊使用觸摸(正確):
Click using Touch (CORRECT) http://img.skitch.com/20090908-g2acnrpb1riuq11ys3p1u6fd4d.png
點擊使用軌跡球(錯誤):
Click using Trackball (INCORRECT) http://img.skitch.com/20090908-my23yxakudwhheq875j2hcwg6h.png
任何想法如何,我可以修復軌跡球行爲是一樣的觸摸行爲?或者當通過軌跡球點擊鏈接時至少啓用JS?