0

私は同じコードを持っています:

public class MainActivity extends TabActivity  {
private TabHost mTabHost;

private void setupTabHost() {
    mTabHost = (TabHost) findViewById(android.R.id.tabhost);
    mTabHost.setup();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
        setContentView(R.layout.activity_main);
    // create tabs and etc...
    setupTabHost();
    mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
    setupTab(new TextView(this), "Category", "Category.class");
    setupTab(new TextView(this), "Top", "Top.class");
    setupTab(new TextView(this), "Favorite", "Favorite.class");

}

    private void setupTab(final View view, final String tag, final String className) {
    View tabview = createTabView(mTabHost.getContext(), tag);
        TabHost tabHost = getTabHost();    
        TabHost.TabSpec spec;   
            Intent intent;
        intent = new Intent().setClass(this, Category.class);
            if (className.equals("Category.class")) {
            intent = new Intent().setClass(this, Category.class);}
            if (className.equals("Top.class")) {
                intent = new Intent().setClass(this, Top.class);}
            if (className.equals("Favorite.class")) {
            intent = new Intent().setClass(this, Favorite.class);}


            TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(intent); {
            };
            mTabHost.addTab(setContent);
}


    private static View createTabView(final Context context, final String text) {
    View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
    TextView tv = (TextView) view.findViewById(R.id.tabsText);
    tv.setText(text);
    return view;
}

Refres() のような Category クラスでメソッドを作成したいのですが、メニューの [更新] ボタンをタップすると、このメソッドはデータを更新し、TabActivity でこれを表示します。

4

1 に答える 1

1

コメントで述べたように、TabActivity は非推奨であり、使用しないでください。古いデバイスをサポートする必要がある場合は、GrilledUIライブラリをActionBarSherlockと一緒に使用してください。これにより、古いデバイスをサポートするための面倒な作業がすべて行われます。

于 2013-07-23T17:04:51.997 に答える