0

WebView に表示するアプリケーションのヘルプ ページを作成しています。ホームページは簡単に見ることができますが、ローカルのハイパーリンクをたどる方法がわかりません。

これまでの私のコードは次のとおりです。

@Override
public void onCreate(Bundle savedInstanceState) {
  ...
  content = (WebView) findViewById(R.id.content);
  content.loadData(getTextFromResource(R.raw.help_main), "text/html", "utf-8");
  content.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
      view.loadUrl(url);
      return true;
    }
  });
}

private String getTextFromResource(int aResourceId) {
  InputStream vRaw = getResources().openRawResource(aResourceId);
  ByteArrayOutputStream vStream = new ByteArrayOutputStream();
  try {
    int i = vRaw.read();
    while (i != -1) {
      vStream.write(i);
      i = vRaw.read();
    }
    vRaw.close();
  } catch (IOException e) {
  }
  return vStream.toString();
}

そしてで/res/raw/help_main.html

<h1>Help menu</h1>
<ul>
  <li><a href="help_overview.html">Overview</a></li>
  ...
</ul>

リンクから概要ページに移動することはありません。これらの URL で試しましたが、何も機能しませんでした。

  • help_overview.html
  • ./help_overview.html
  • ファイル://res/raw/help_overview.html
  • ファイル://android_asset/help_overview.html
  • ファイル://android_res/raw/help_overview.html

インターネットへのリンクは機能しますが、ローカル リンクは機能しません。どの URL を使用すればよいですか?

Local html page \raw\ folder in webview with links to another html pageという質問を見てきましたが、その回答には、提供する必要がある URLが示されてません。

4

2 に答える 2

3

おそらく最も簡単な方法は、Web リソースを assets フォルダーに入れてから呼び出すことです。

webView.loadUrl("file:///android_asset/filename.html");.
于 2013-06-05T06:46:03.610 に答える
0
webView.loadUrl("file:///android_asset/www/index.html");
于 2013-06-05T06:41:48.160 に答える