我正在写一个安卓应用程序。该应用程序有一个主要活动,主要活动有一个包含 5 个选项卡和一个包含 5 个选项卡的选项卡framelayout
主机fragments
。
fragment
单击框架布局中的每个选项卡时fragment
,将替换为相应的fragment
.
现在我通过选择一些通知从应用程序中移出。并再次从主屏幕返回应用程序,activity
从第一个开始。并加载第一个fragment
(这是不可见的,但可以从日志 cat 中看到onCreate
调用了主要的 actviy)。但fragment
可见的是fragment
我去通知的地方。知道为什么会这样吗?
代码
tabChanged= new OnTabChangeListener() {
public void onTabChanged(String tabId) {
// TODO Auto-generated method stub
tab_Change(tabId);
}
};
mTabHost.setOnTabChangedListener(tabChanged);
void tab_Change(String ss)
{
if(ss.equalsIgnoreCase("TRIAL"))
{
selected_tab=0;
View tab_view =mTabHost.getCurrentTabView();
tab_view.setBackgroundResource(R.drawable.menutab_bg);
if(arr_frag1==null)
{
addTrialTab();
}
else
{
ShowFragmentByIndex(selected_tab);
}
}
... etc }
public void addTrialTab()
{
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
Fragment frag_first = new TrailMainFrag();
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, frag_first,"TRIAL0").commit();
AddFragmentid("TRIAL0");
}
void ShowFragmentByIndex(int index)
{
FragmentManager fm = getSupportFragmentManager();
String temp_fr = "";
int size = 0;
if(index == 0)
{
size = arr_frag1.size();
temp_fr =(String)arr_frag1.get(size-1);
}
... etc FragmentTransaction ft = fm.beginTransaction();
Fragment fr = fm.findFragmentByTag(temp_fr);
if(fr!=null)
{
ft.attach(fr);
}
ft.commit();
}