0

私は SherlockFragmentActivity を使用しており、次のものがあります。

public class TestActivity extends SherlockFragmentActivity {


    private static enum Tab {
        Test1("test1", TestOneFragment.class),
        Test2("test2", TestTwoFragment.class),
        private final String title;
        private final Class<? extends Fragment> clazz;

        private Tab(String title, Class<? extends Fragment> clazz) {
            this.title = title;
            this.clazz = clazz;
        }

        private String getTitle() {
            return title;
        }

        private Class<? extends Fragment> getFragmentClass() {
            return clazz;
        }
    }

同じ「パッケージ」に Test1 と Test2 があるため、正常に動作します。

外部の「パッケージ」クラスを追加するにはどうすればよいですか? com.bla.blaa.BlaActivity; をインポートすると、私はこれを次のように使用します:

 private static enum Tab {
        Blabla("Blabla", BlaActivity.class),
        Test1("test1", TestOneFragment.class),
        Test2("test2", TestTwoFragment.class);

エラーがあります:

The constructor TestActivity.Tab(String, Class<BlaActivity>) is 
     undefined
4

1 に答える 1

0

フラグメントを拡張しない SherlockFragmentActivity コンストラクター クラスに渡すことはできません。アクティビティ (BlaActivity.class) を Tab に渡そうとしているようです。SherlockFragmentActivity はフラグメントで動作します。インテントを使用して、いずれかのタブから他のアプリケーションを起動できます。

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity(launchIntent);
于 2012-10-19T19:43:31.977 に答える