在TabActivity不运行onCreate方法活动时,点击第二次(Activity in Tab

2019-09-27 17:09发布

我有一个TabActivity其包括3个tabs 。 我设置currentActivity1不是默认的一个, 0 。 当我开始我的TabActivity我想通了,Activity0也运行,但Tabactivity展示活动1中,我设置为接口currentActivity 。 此外,当我点击TAB2(包括活性2),然后再次单击tba1或TAB0,他们不再次运行。 因为我觉得TabActivity只是让运行一次。 我想重新启动每个activiy在标签每当我点击选项卡。 我想保持这些微量以便单击后退按钮时,它应该是tracable。

public class ActivityInTab extends TabActivity implements OnTabChangeListener{
TabHost tabHost;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activityintab);

    tabHost = getTabHost();

    TabSpec meSpec = tabHost.newTabSpec("Ben");
    meSpec.setIndicator("Ben", getResources().getDrawable(R.drawable.icon_me));
    Intent meIntent = new Intent(this, MeActivity.class);
    meSpec.setContent(meIntent);

    TabSpec searchSpec = tabHost.newTabSpec("Arama");
    searchSpec.setIndicator("Çevrende Ara", getResources().getDrawable(R.drawable.icon_search));
//        Intent searchIntent = new Intent(this, SearchActivity.class);
//        searchSpec.setContent(searchIntent);

    TabSpec resultSpec = tabHost.newTabSpec("Aradıklarım");
    resultSpec.setIndicator("Arama  Sonuçlarım", getResources().getDrawable(R.drawable.icon_result));
//        Intent resultIntent = new Intent(this, ResultActivity.class);
//        resultSpec.setContent(resultIntent);       

    tabHost.addTab(searchSpec); 
    tabHost.addTab(meSpec);
    tabHost.addTab(resultSpec);
    tabHost.setCurrentTab(1);

    tabHost.setOnTabChangedListener(this);

}

@Override
public void onTabChanged(String tabId) {
    if(tabId.equals("Ben") && tabHost.getCurrentTab()==0){
        MeActivity meact = (MeActivity) getLocalActivityManager().getActivity(tabId);

    }

    if(tabId.equals("Arama") && tabHost.getCurrentTab()==1){
        SearchActivity sact= (SearchActivity) getLocalActivityManager().getActivity(tabId); 
    }
    if(tabId.equals("Aradıklarım") && tabHost.getCurrentTab()==2){
        ResultActivity ract = (ResultActivity) getLocalActivityManager().getActivity(tabId);
    }

}

}

Answer 1:

设置标志Intent.FLAG_ACTIVITY_CLEAR_TOP为您标签的意图。

Intent meIntent = new Intent(this, MeActivity.class);
meIntent .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

同时还为评论标签这样

Intent searchIntent = new Intent(this, SearchActivity.class);
 searchIntent .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);


文章来源: Activity in TabActivity doesn't run onCreate Method when clicked second time