我的列表视图中显示了推文列表。我在listview上设置了一个监听器,该监听器应该将用户带到特定的推文。
我名单上的听众如下:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(TweetActivity.this, WebActivity.class);
intent.putExtra("url", String.valueOf(twitterBaseURL+tweetResult.get(i).getId()));
startActivity(intent);
}
});
在我的网络活动课程中,我正在做以下事情:
String url = getIntent().getExtras().getString("url");
WebView webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setDomStorageEnabled(true);
webView.loadUrl(url);
在网页视图中,它不像在移动设备上使用谷歌浏览器那样加载页面。我认为javascript无法正常加载。
更新1:
我在带有API 21的Android设备上测试了这个。在我的android工作室里面,我有一个带有API 23的虚拟设备。在API 23中,这会正确加载所有内容。我创建了另一个带有API 21的虚拟设备并经过测试以进行双重检查,因此问题在于API级别。此代码在API 23中有效,可以在Web视图中正确加载URL,但在API 21中却没有?
答案 0 :(得分:0)
启用JavaScript
默认情况下, WebView 中禁用了JavaScript 。您可以通过 WebView 附带的 WebSettings 启用它。您可以使用 getSettings()检索 WebSettings ,然后使用 setJavaScriptEnabled()启用JavaScript。
例如:
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("file:///android_assets/your_page.html");
答案 1 :(得分:0)
看看this,虽然谈论的问题是反应原生的。
上面提到的最后一点是尝试在真正的Android设备上运行。实际上有时Android模拟器无法正常工作。
所以我建议首先使用API 21在真正的Android设备上测试你的代码