我是Android新手,開始使用基本應用程序(選擇API 5.1 /創建虛擬設備5.1.1/API22,因爲這是我將在以後使用的實際情況),只包含WebView :Android WebView保持空白
activity_main.xml中
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:ignore="MergeRootFrame">
<WebView
android:id="@+id/activity_main_webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
然而,無論我在活動的Java代碼做的頁面保持空白。我嘗試了很多從SO等tipps,但沒有任何工作,所以它一定是我很想念的東西?
MainActivity.java
package de.jstest.notes;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WebView myWebView = (WebView) findViewById(R.id.activity_main_webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setDomStorageEnabled(true); // is this actually needed?
webSettings.setJavaScriptEnabled(true);
String summary = "<html><head><title>WebView JS Tester</title></head><body>" +
"Code<br>" +
"<textarea id='code'></textarea><br>" +
"Result<br>" +
"<textarea id='result'></textarea><br>" +
"<input type='button' value='Eval' onclick='" +
"document.getElementById(\"result\").value=eval(document.getElementById(\"code\").value)" +
"'>" +
"</body></html>";
myWebView.loadData(summary, "text/html; charset=utf-8", "utf-8");
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("WebView 'title' = " + myWebView.getTitle());
builder.setPositiveButton("Now try a web page...",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
final AlertDialog dialog = builder.create();
dialog.show();
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
myWebView.loadUrl("https://www.google.de/");
dialog.dismiss(); // otherwise, dialog stays open
}
}
);
}
}
此外,對話框(按鈕)不工作(既不是我上面的代碼,也沒有更多的基本方法直接設置單擊處理),即,應用程序打開(有時與,有時沒有其標題「註釋」...),並描述WebView保持空白;我看到對話框(說網頁視圖title
爲空),但點擊一個按鈕(「現在嘗試網頁...」)完全沒有影響。點擊幾次後,我被問到是否要關閉沒有迴應的應用程序...
請注意,loadData
和loadUrl
都會導致空白頁。對於後者的工作,我想
AndroidManifest.xml中
<uses-permission android:name="android.permission.INTERNET" />
但這並沒有改變任何東西。
'loadData'部分似乎在這裏工作OK ...我的版本(對不起)777e28a https://github.com/rdp/sensible-cinema – rogerdpack
謝謝!我今晚會嘗試並提供反饋。 – SomeDev