FragmentTabHost を使用して 3 つのタブを作成しました。ここで、すべてのナビゲーションをタブの下に配置する必要があります。どうすればこれを入手できますか。TabGroupActivity を使用して取得したものを取得する必要があります。
Tab1 --->frag1-->frag2
Tab2 --->frag3
Tab3 --->frag4--->frag5
私は fragmentTransaction.add()、fragmentTransaction.remove()、fragmentTransaction.replace() を使用しました。これら 3 つの方法がありますが、解決策はありません。
Replace メソッドは、既存のフラグメント ビューの上に新しいフラグメント ビューを表示します。
RemoveとAdd、これら 2 つの remove のみが機能し、add は機能しません。
前もって感謝します。
TabHostMain.java
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.bottom_tabs);
mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
View view;
view=getTabView(R.drawable.ic_launcher);
Bundle b = new Bundle();
b.putString("key", "Simple");
mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator(view),Fragment1.class, null);
b = new Bundle();
b.putString("key", "Contacts");
view=getTabView(R.drawable.ic_launcher);
mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator(view), Fragment2.class, null);
b = new Bundle();
b.putString("key", "Custom");
view=getTabView(R.drawable.ic_launcher);
mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator(view),Fragment3.class, null);
}
Fragment3.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View view=LayoutInflater.from(getActivity()).inflate(R.layout.activity_second, null);
((TextView)view.findViewById(R.id.second_act_text)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm=getChildFragmentManager();
FragmentTransaction fragmentTransaction=fm.beginTransaction();
fragmentTransaction.replace(R.id.second_activity, new Fragment1()).addToBackStack(null).commit();
}
});
return view;
}