私はアンドロイド開発が初めてです。if/else 句ステートメントを使用して、1 つのアクティビティから最大 20 個の HTML ページをアセット フォルダーにロードできるかどうかを知りたいです。
ボタンが別のアクティビティでクリックされると、押されたボタンの番号に応じて WebView が開きます。各 webViews に対してアクティビティを作成する必要があると考えていますが、1 つの Java クラスと 1 つの Webview レイアウトだけを使用できるかどうかを知りたいです。
私はアンドロイド開発が初めてです。if/else 句ステートメントを使用して、1 つのアクティビティから最大 20 個の HTML ページをアセット フォルダーにロードできるかどうかを知りたいです。
ボタンが別のアクティビティでクリックされると、押されたボタンの番号に応じて WebView が開きます。各 webViews に対してアクティビティを作成する必要があると考えていますが、1 つの Java クラスと 1 つの Webview レイアウトだけを使用できるかどうかを知りたいです。
1 つのアクティビティで webview があり、web ビューでメソッドを使用して html ページを変更できますwebview.loadUrl("http://developer.android.com/");
。アセット フォルダーに html ページを作成し、ロジックに従って実行時に同じページをロードします。例えば
webView.loadUrl("file:///android_asset/your.html");
はい、可能です。単一のアクティビティと webView を使用し、if/else ステートメントでコンテンツを変更できます。ドキュメントを参照してください。loadUrl
およびのloadData
メソッドWebView
。
各 webViews に対してアクティビティを作成する必要があると考えていますが、1 つの Java クラスと 1 つの Webview レイアウトだけを使用できるかどうかを知りたいです。
いいえ、webViews ごとにアクティビティを作成する必要はありません。
最初のアクティビティでは、assets フォルダーにある HTML ファイルを含む URL を使用して、2 番目のアクティビティにデータを渡すことができます。
2 つの異なるボタンに対して 2 つの HTML ページがあるとします。
file:///android_asset/page_button_1.html
file:///android_asset/page_button_2.html
最初のアクティビティでは、イベントで正しい URL を渡しますonClick
(ボタン 1 の例)。
Intent i = new Intent(this, WebViewActivity.class);
i.putExtra("keyHTML","file:///android_asset/page_button_1.html");
startActivity(i);
次に、webview アクティビティで:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.some_layout);
Bundle extras = getIntent().getExtras();
String value = "file:///android_asset/default_page.html";
if(extras !=null) {
value = extras.getString("keyHTML");
}
webView = (WebView)findViewById(R.id.webview);
webView.loadUrl(value);
}