0

私はアンドロイド開発が初めてです。if/else 句ステートメントを使用して、1 つのアクティビティから最大 20 個の HTML ページをアセット フォルダーにロードできるかどうかを知りたいです。

ボタンが別のアクティビティでクリックされると、押されたボタンの番号に応じて WebView が開きます。各 webViews に対してアクティビティを作成する必要があると考えていますが、1 つの Java クラスと 1 つの Webview レイアウトだけを使用できるかどうかを知りたいです。

4

3 に答える 3

0

1 つのアクティビティで webview があり、web ビューでメソッドを使用して html ページを変更できますwebview.loadUrl("http://developer.android.com/"); 。アセット フォルダーに html ページを作成し、ロジックに従って実行時に同じページをロードします。例えば

webView.loadUrl("file:///android_asset/your.html");
于 2013-11-02T17:24:20.180 に答える
0

はい、可能です。単一のアクティビティと webView を使用し、if/else ステートメントでコンテンツを変更できます。ドキュメントを参照してください。loadUrlおよびのloadDataメソッドWebView

于 2013-11-02T16:52:44.580 に答える
0

各 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);
}
于 2013-11-02T16:53:06.203 に答える