アプリケーションは、アセットのhtmlファイルへのリンクを含むfirst-listview、このhtmlファイルのsecond-webviewの2つのアクティビティで構成されます。だから、このhtmlファイルにはいくつかのリンクがあり(次は最初のhtmlファイルと呼ばれます)、アセットから他のhtmlファイルにつながります。私がこのリンクの1つをたどった後、私は最初のhtmlに戻りたいと思います。しかし、この方法では、ファイルの内容の代わりに白い画面が表示されます。webviewで戻るボタンを作成するには?
PS:最初のアセットファイルをhtmlリンクで参照しています。例えば、(第一のHTML内のリンクのコード):
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
:
public class WebViewActivity extends Activity implements OnClickListener {
WebView wWebView;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
if (wWebView.canGoBack() == true) {
wWebView.goBack();
} else {
finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Bundle bundle = getIntent().getExtras();
String htmlFileName = "m" + bundle.getString("defStrID") + ".html";
Context context = getBaseContext();
try {
String text = readAssetTextFile(context, htmlFileName);
wWebView = (WebView) findViewById(R.id.webview);
String summary = "<html><body>" + text + "</body></html>";
wWebView.getSettings().setJavaScriptEnabled(true);
wWebView.loadDataWithBaseURL("x-data://base", summary, "text/html",
"utf-8", null);
} catch (IOException e) {
Log.e("TAG", "Exception thrown", e);
}
}
public static String readAssetTextFile(Context ctx, String fileName)
throws IOException
{
InputStream inputStream = ctx.getAssets().open(fileName);
InputStreamReader inputreader = new InputStreamReader(inputStream);
BufferedReader buffreader = new BufferedReader(inputreader);
String line;
StringBuilder text = new StringBuilder();
try {
while ((line = buffreader.readLine()) != null) {
text.append(line);
text.append('\n');
}
} catch (IOException e) {
Log.e("TAG", "Exception thrown", e);
}
return text.toString();
}
}
'onKeyDown'の96行目はどれですか? –
質問が更新されましたので、29行目(96番目)が 'if(wWebView.canGoBack()== true){' – Sabre