在Android上刷新标签活动

时间:2012-06-19 20:36:55

标签: android android-intent refresh tabactivity android-tabactivity

一旦我点击我的Tab活动,我需要刷新我的活动。目前它只显示以前的内容。我需要刷新我的活动,因此可以在后面加载新内容。这是我添加TabActivity的代码。请帮忙。感谢您的所有反馈。

    private void setTabs()
{
    addTab("Home", R.drawable.tab_home, OptionsActivity.class);
    addTab("News", R.drawable.tab_search, JsonActivity.class);
    addTab("Scores", R.drawable.tab_home, scores.class);
    addTab("Video", R.drawable.tab_search, JsonActivity2.class);
    addTab("Follow Us", R.drawable.tab_home, SAXParserActivity.class);
    addTab("Socket", R.drawable.tab_search, socketAndroid.class);
}



private void addTab(String labelId, int drawableId, Class<?> c)
{
    TabHost tabHost = getTabHost();
    Intent intent = new Intent(this, c);
    TabHost.TabSpec spec = tabHost.newTabSpec("tab" + labelId); 

    View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);
    TextView title = (TextView) tabIndicator.findViewById(R.id.title);
    title.setText(labelId);
    ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
    icon.setImageResource(drawableId);

    spec.setIndicator(tabIndicator);
    spec.setContent(intent);
    tabHost.addTab(spec);

}

3 个答案:

答案 0 :(得分:6)

以下是代码的最终添加内容......我添加了 .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

TabHost tabHost = getTabHost();
Intent intent = new Intent(this, c).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
TabHost.TabSpec spec = tabHost.newTabSpec("tab" + labelId); 

谢谢大家。

答案 1 :(得分:1)

将标记.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);添加到您的意图中,如上所述,它会在每次选择标签时调用相关活动。

答案 2 :(得分:0)

您要更新哪种类型的内容?如果您使用的是阵列适配器,则可以调用notifyDataSetChanged()。或者,如果您可以通过其id属性引用文本字段,则可以动态修改它们。