我有一个带有一个 TextView 的 ListView。列表视图由字符串数组和数组适配器填充(在扩展 ListActivity 和 list_item 布局的 List 类中)。现在设置了一个点击监听器,并使用 switch 位置语句和 assets 文件夹中的本地 html 文件通过 uri 解析方法链接到列表行。单击列表行时,html 页面设置为显示在设置为(TopicDisplay 类和 display_item 布局)的 Web 视图中。下面是我的
问题:当用户单击列表视图上的一行时 - 从该行到最后一行的 html 文档首先显示最后一个文档。我可以使用 android 设备后退按钮来浏览加载的每个 html 文档,直到单击的行。如何只显示点击的行 HTML 文档?
列表类中的代码
package com.abcdef.list;
//import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
//import android.widget.AdapterView;
//import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
//import android.widget.TextView;
public class List extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// storing string resources into Array
String[] adobe_products = getResources().getStringArray(R.array.adobe_products);
// Binding resources Array to ListAdapter
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, adobe_products));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
change(position);
}
void change(int position){
// Uri uri = null;
switch(position){
case 0 :{
Intent i0 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri0=Uri.parse("file:///android_asset/File0.html");
i0.setData(uri0);
startActivity(i0);}
case 1 :{
Intent i1 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri1=Uri.parse("file:///android_asset/Topic1.html");
i1.setData(uri1);
startActivity(i1);}
case 2 :{
Intent i2 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri2=Uri.parse("file:///android_asset/Topic2.html");
i2.setData(uri2);
startActivity(i2);}
case 3:{
Intent i3 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri3=Uri.parse("file:///android_asset/Topic3.html");
i3.setData(uri3);
startActivity(i3);}
case 4:{
Intent i4 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri4=Uri.parse("file:///android_asset/Topic4.html");
i4.setData(uri4);
startActivity(i4);}
case 5:{
Intent i5 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri5=Uri.parse("file:///android_asset/Topic5.html");
i5.setData(uri5);
startActivity(i5);}
case 6:{
Intent i6 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri6=Uri.parse("file:///android_asset/Topic6.html");
i6.setData(uri6);
startActivity(i6);}
case 7:{
Intent i7 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri7=Uri.parse("file:///android_asset/Topic7.html");
i7.setData(uri7);
startActivity(i7);}
case 8:{
Intent i8 = new Intent(getApplicationContext(), TopicDisplay.class);
Uri uri8=Uri.parse("file:///android_asset/Topic8.html");
i8.setData(uri8);
startActivity(i8);}
} } }
这是我的 TopicDisplay 类代码
package com.abcdef.list;
import android.app.Activity;
//import android.app.Application;
//import android.content.Intent;
import android.os.Bundle;
import android.webkit.*;
public class TopicDisplay extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.topic_display);
WebView tabViewing = (WebView) findViewById(R.id.webView1);
tabViewing.loadUrl(getIntent().getDataString());
}
}