我正在开发一个 Android 应用程序,但遇到了一个奇怪的问题。
我有两个按钮:button1 和 button2
单击按钮时,我正在从资产文件夹加载不同的 html 文件。
这在所有版本的模拟器上都可以正常工作,但在具有 Android 4.0 或更高版本的真实设备上,执行奇怪的行为。
对于 button2,它工作正常并在 Web 视图中动态显示 html 页面,但是在单击 button1 时,它在 Web 视图中显示一个白页。
我很惊讶为什么会发生这种情况,而 xml 和活动除了它们的 ID 和名称之外具有相同的代码。
我已经尝试了很多东西并进行了搜索,但不明白为什么它会发生在一个而不是另一个?
button1 的 XML 是:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/xxx">
<WebView
android:id="@+id/webViewButton1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:layerType="software" />
</LinearLayout>
button2 的 XML 是:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/xxxx">
<WebView
android:id="@+id/webViewButton2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:layerType="software" />
</LinearLayout>
Button1 活动代码:
@SuppressLint("DefaultLocale")
public class Button1Activity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_button1);
savedInstanceState = getIntent().getExtras();
String sign = null;
sign = savedInstanceState.getString("button1");
webView = (WebView) findViewById(R.id.webViewButton1);
webView.setBackgroundColor(0);
webView.loadUrl("file:///android_asset/" + sign + ".html");
}
}
Button2 活动代码:
@SuppressLint("DefaultLocale")
public class Button1Activity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_button2);
savedInstanceState = getIntent().getExtras();
String sign = null;
sign = savedInstanceState.getString("button2");
webView = (WebView) findViewById(R.id.webViewButton2);
webView.setBackgroundColor(0);
webView.loadUrl("file:///android_asset/" + sign + ".html");
}
}
请指导我。