TabHost を使用してアクティビティ クラスでタブを使用しています。
TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
tabHost.setup();
Test testObj = new Test(this);
spec2=tabHost.newTabSpec("Tab 2");
spec2.setIndicator("Tab 2");
spec2.setContent(testObj);
そして、各ビューは、TabFactory を実装するビューに割り当てられます。
public class Test implements TabContentFactory {
@Override
public View createTabContent(String arg0) {
v = mInflater.inflate(R.layout.activity_tab1, null);
/**
* Add your code here for buttons/list etc
* An object lookup for your Button:
*/
b = (Button)v.findViewById(R.id.button1);
b.setOnClickListener(this);
return v;
}
public void setListViewNames() {
//create a custom list view
}
public void setDetailedView() {
//opens another detailed view when user clicks on any item on the list
//here i use ViewGroup to remove the first view created in setListViewNames()
}
}
ボタンをクリックすると、listView が作成されます。任意の項目をクリックすると、別の listView が表示されます。最初の listView は次のように削除されます。
ViewGroup viewGroup = (ViewGroup) v.getParent();
viewGroup.removeView(v);
View v1 = mInflater.inflate(R.layout.custom_fullpicture, null);
viewGroup.addView(v1);
しかし、タブ 1 に移動してからタブ 2 をクリックすると、次のエラーがスローされます。
E/AndroidRuntime(1668): at android.widget.TabHost$FactoryContentStrategy.tabClosed
(TabHost.java:658)
タブ内を効果的に移動するにはどうすればよいですか? クリックするたびにタブ ビューをリロードする方法が見つかりませんでした。
何かご意見は?
前もって感謝します!