私はAndroidアプリを開発していますが、奇妙な問題に悩まされています。
ボタン1とボタン2の2つのボタンがあります
ボタンをクリックすると、アセットフォルダからさまざまなhtmlファイルをロードしています。
これは、すべてのバージョンのエミュレーターで正常に機能していますが、Android 4.0以降を搭載した実際のデバイスでは、奇妙な動作を実行します。
button2の場合、正常に機能しており、WebビューにHTMLページが動的に表示されますが、button1をクリックすると、Webビューに白いページが表示されます。
xmlとアクティビティのIDと名前を除いて同じコードを使用しているときに、なぜそうなるのか驚いています。
私はたくさんのことを試し、検索しましたが、なぜそれが1つで起こっているのに、別では起こっていないのかわかりませんでしたか?
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");
}
}
案内してください。