【发布时间】:2017-02-21 05:33:22
【问题描述】:
我有一个 webView,其中包含 assets/1.html 中的一些内容,我想创建一个 button(下一个按钮)来将我的 webView 的内容更改为 assets/2.html 等等。
怎么做?
PS 我用Intent 完成了它并重新创建了我的Activity,但我认为这不是一个好的解决方案,我只希望webView 重新加载而不是全部Activity: )
这是我的 NextStory() 函数:
public void nextStory(View view) {
int iExtra = Integer.parseInt(extra) + 1;
if(iExtra<=10) {
String sExtra = Integer.toString(iExtra);
webView.loadUrl("file:///android_asset/"+sExtra+".htm");
} else {
inflater = getLayoutInflater();
layout = inflater.inflate(R.layout.toast,
(ViewGroup) findViewById(R.id.toast_root));
text = (TextView) layout.findViewById(R.id.text);
text.setText("لقد وصلت لنهاية الكتاب!");
toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
}
}
这是我的 onCreate() 函数:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book);
textView = (TextView)findViewById(R.id.textView3);
Typeface face = Typeface.createFromAsset(getAssets(),
"fonts/arabicfont.otf");
textView.setTypeface(face);
webView = (WebView)this.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
intent = getIntent();
//this intent tag is for start reading position
extra = intent.getExtras().getString("EXTRA");
//this colorId is selected from previous Activity to change color acording to user's needs
colorId = intent.getIntExtra("COLOR_EXTRA", colorId);
Linear1 = (LinearLayout)findViewById(R.id.Linear1);
Relative1 = (RelativeLayout)findViewById(R.id.Relative1);
Linear1.setBackgroundResource(colorId);
Relative1.setBackgroundResource(colorId);
if(extra.equals("0")) {
webView.loadUrl("file:///android_asset/1.htm");
textView.setText(textView.getText().toString()+ " > توطئة");
} else if(extra.equals("1")) {
webView.loadUrl("file:///android_asset/2.htm");
textView.setText(textView.getText().toString()+ " > الكآبة الخرساء");
} else if(extra.equals("2")) {
webView.loadUrl("file:///android_asset/3.htm");
textView.setText(textView.getText().toString()+ " > يد القضاء");
} else if(extra.equals("3")) {
webView.loadUrl("file:///android_asset/4.htm");
textView.setText(textView.getText().toString()+ " > في باب الهيكل");
} else if(extra.equals("4")) {
webView.loadUrl("file:///android_asset/5.htm");
textView.setText(textView.getText().toString()+ " > الشعلة البيضاء");
} else if(extra.equals("5")) {
webView.loadUrl("file:///android_asset/6.htm");
textView.setText(textView.getText().toString()+ " > العاصفة");
} else if(extra.equals("6")) {
webView.loadUrl("file:///android_asset/7.htm");
textView.setText(textView.getText().toString()+ " > بحيرة النار");
} else if(extra.equals("7")) {
webView.loadUrl("file:///android_asset/8.htm");
textView.setText(textView.getText().toString()+ " > أمام عرش الموت");
} else if(extra.equals("8")) {
webView.loadUrl("file:///android_asset/9.htm");
textView.setText(textView.getText().toString()+ " > عشتروت والمسيح");
} else if(extra.equals("9")) {
webView.loadUrl("file:///android_asset/10.htm");
textView.setText(textView.getText().toString()+ " > التضحية");
} else if(extra.equals("10")) {
webView.loadUrl("file:///android_asset/11.htm");
textView.setText(textView.getText().toString()+ " > المنقذ");
}
}
【问题讨论】:
-
兄弟只需将第二个 html 文件加载或设置为相同的 webview 即可工作
-
您可以在 html1 文件中添加下一个按钮,并可以使用 htlm 功能导航到 html2