2

タブ アクティビティをクリックして戻ると、アクティビティを更新する必要があります。現在、以前のコンテンツを表示しているだけです。アクティビティを更新する必要があるため、新しいコンテンツが戻ったらロードできます。これが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);

}
4

3 に答える 3

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); 

皆さん、ありがとうございました。

于 2012-06-19T20:54:37.840 に答える
0

更新しようとしているコンテンツの種類は何ですか? アレイ アダプタを使用している場合は、notifyDataSetChanged(). または、id 属性を介してテキスト フィールドを参照できる場合は、それらを動的に変更できます。

于 2012-06-19T20:46:37.187 に答える