1つのTextViewを持つListViewがあります。リストビューは、文字列配列と配列アダプター(ListActivityとlist_itemレイアウトを拡張するListクラス内)から入力されます。これでクリックリスナーが設定され、switch positionステートメントを使用して、アセットフォルダーのローカル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());
}
}