ユーザーが画像をクリックしたときに、既に読み込まれている Web ビューであるページから別のページに移動しようとしています。HTML ページは、アセット フォルダーのサブフォルダーに格納されます。
ここにJavaコードがあります
package com.vm;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;
public class VmReadPreface extends VampireMusicActivity{
private WebView wv = null;
private int pageIndex;
private String pagePath;
private String[] pageList = {"file:///android_asset/preface/page_8.html",
"file:///android_asset/preface/page_9.html","file:///android_asset/preface/page_10.html",
"file:///android_asset/preface/page_11.html"};
private int SelectedRow;
public static final String DEBUG_TAG = "VmMusic";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.preface);
WebView wv;
wv = (WebView) findViewById(R.id.web_holder);
System.out.println(pageList[0]);
System.out.println(pageList.length);
pagePath=pageList[pageIndex];
Log.i(DEBUG_TAG,"Page Path " + pagePath);
wv.loadUrl(pagePath);
final ImageView getNext_Page =(ImageView) findViewById(R.id.arrow_right);
getNext_Page.setOnClickListener(NextClick);
final ImageView getPrevious_Page =(ImageView) findViewById(R.id.arrow_left);
getPrevious_Page.setOnClickListener(PreviousClick);
}
View.OnClickListener PreviousClick = new View.OnClickListener(){
public void onClick(View v){
GoPrevious();
}
};
View.OnClickListener NextClick = new View.OnClickListener(){
public void onClick(View v){
GoNext();
}
};
private void loadWebView(String s){
Log.i(DEBUG_TAG,"String Is " + s);
String finalFile = s;
Log.i(DEBUG_TAG,"Final File Is " + finalFile);
wv.loadUrl(finalFile);
}
private void GoNext(){
int TotalRows = pageList.length;
if((SelectedRow + 1)<TotalRows)
{
SelectedRow=SelectedRow +1;
String s=pageList[SelectedRow];
loadWebView(s);
}
}
private void GoPrevious(){
if(SelectedRow>0)
{
SelectedRow = SelectedRow-1;
String s=pageList[SelectedRow];
loadWebView(s);
}
}
}
アクティビティが起動されると、最初のページが正しく表示されますが、「右矢印」を押して次のページに移動すると、ログには正しいページが見つかったことが示されます (つまり、finalFile は現在「page_9」です) が、webview は表示されません。ロード。
dalvikm が 'threadid=1: thread exiting with uncaught exception を報告し、ランタイムが致命的な例外と Null PointerException を返す
私は何が欠けていますか?ありがとう