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が示されていません。