不能在课堂上进行交易

时间:2015-09-16 18:16:47

标签: android android-activity fragment drawer

我有主要活动:

public class GeneralActivity extends ActionBarActivity {
...
}

我有另一个类,我在其中创建一个抽屉,我带到所需的参数。但是当我想在单击菜单项时移动到不同的片段时,IDE会写入没有方法getSupportFragmentManager()。

public class DrawerClass {

    public static void drawer(final Activity activity, Toolbar toolbar) {
    ...
    result.setOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
            @Override
            public boolean onItemClick(View view, int i, IDrawerItem iDrawerItem) {
                Log.d("POSITION", "position = " + i);
                switch (i) {
                ....
                    case 5:
                        Toast.makeText(activity, R.string.drawer_item_journal, Toast.LENGTH_SHORT).show();
                        JournalFragment journalFragment = new JournalFragment();
                        FragmentTransaction transaction = getSupportFragmentManager()
                                .beginTransaction();
                        transaction.replace(R.id.profile_fragment_layout, journalFragment);
                        transaction.commit();
                        break;
                }
                return false;
            }
        });

我在FragmentTransaction transaction = getSupportFragmentManager()行上有错误我不知道如何修复它。
我在几个类中使用这个抽屉,所以我创建了一个单独的类,以避免重复代码

1 个答案:

答案 0 :(得分:0)

你不能在Activity或Fragment之外使用getSupportFragmentManager。

activity.getSupportFragmentManager();

加上建议你将它从静态变为单身......