1

ActionBarSherlockを使用するために理解している例を見つけるのに問題がありました。TabNavigation.javaダウンロードに付属している例を実装できます。この例を拡張して、新しいアクティビティをトリガーし、タブを表示したままにする方法がわかりません。これが私が実装した例です:

package com.actionbarsherlock.sample.demos;

import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.widget.TextView;

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockActivity;

public class TabNavigation extends SherlockActivity implements ActionBar.TabListener {
    private TextView mSelected;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        setTheme(SampleList.THEME); //Used for theme switching in samples
        super.onCreate(savedInstanceState);

        setContentView(R.layout.tab_navigation);
        mSelected = (TextView)findViewById(R.id.text);

        getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        for (int i = 1; i <= 3; i++) {
            ActionBar.Tab tab = getSupportActionBar().newTab();
            tab.setText("Tab " + i);
            tab.setTabListener(this);
            getSupportActionBar().addTab(tab);
        }
    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction transaction) {
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction transaction) {
        mSelected.setText("Selected: " + tab.getText());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
    }
}

.setTabListener()新しい「リスナー」クラスを作成し、それをメソッドに渡す必要があると思います。ORMLiteの実装はかなり複雑で、フラグメントでORMLiteを使用する方法がまだわからないため、(フラグメントではなく)アクティビティを使い続けたいと思います。

をトリガーする「プロファイル」というラベルの付いた新しいタブを追加したいと思いますProfileActivity.class

前もって感謝します!

4

2 に答える 2

0

私が探している例が見つからない理由は、アクティビティでアクションバーを永続的に使用できないためです。コメントやより良い答えをいただければ幸いです。:)

于 2012-10-22T16:17:00.003 に答える
0

TabListenerはFragmentsとFragmentTransactionで動作するはずだと思います。コードをProfileActivityから新しいProfileFragmentクラスに移動し、リスナーが受け取るFragmentTransactionを追加する必要があります。

この回答のように、プロジェクトにViewPagerIndicatorライブラリを追加することをお勧めします。ViewPagerは、タブに加えて、タブ間を移動するためのスワイプの動きに似ています。

于 2012-10-22T17:02:38.903 に答える