1

ListView1 つだけを使用して選択した内容に基づいて、 を使用して別のファイルを開こうとしていますWebView

私は意図を設定しました:

protected void onListItemClick(ListView l, View v, int position, long id) {
  switch (position) {
  case '0' :
    Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
    startActivity(i);
  }
}

そして、tabViewerClass私はこれを持っています:

WebView tabViewing = (WebView) findViewById(R.id.webView1);
tabViewing.loadUrl("file:///android_asset/twentyseven.html");

tabViewing.loadUrl("file:///android_asset/twentyseven.html");を選択したときに呼び出されたい2行目ですcase 0が、別のオプションを選択した場合は、WebView.

このようなもの:

case '0' :
    Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
    startActivity(i);
    load whatever file
case '1' :
    Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
    startActivity(i);
    load a different file in the webview
case '2' :
    Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
    startActivity(i);
    load a different file in webview

load whatever fileと同等のことをする tabViewing.loadUrl("file:///android_asset/twentyseven.html");

4

2 に答える 2

1

ロードするファイルを渡すもう 1 つの方法は、Uri を使用することです。

Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
i.setData(Uri.parse("file:///android_asset/twentyseven.html"));
startActivity(i);

次に、webview で uri を取得してページを読み込むことができます

WebView tabViewing = (WebView) findViewById(R.id.webView1);
tabViewing.loadUrl(getIntent().getDataString());

どちらの方法でも、あなたが望むものを達成できます。

于 2012-08-10T09:17:18.567 に答える
1

インテント内で filename を extra として渡すことができます。

Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
i.putExtra("filename", "file:///android_asset/twentyseven.html");
startActivity(i);

およびtabViewerClass内:

String filename = getIntent().getStringExtra("filename");
WebView tabViewing = (WebView)findViewById(R.id.webView1);
tabViewing.loadUrl(filename);
于 2012-08-10T08:24:35.967 に答える