如何从适配器类调用片段?

时间:2019-04-24 15:40:10

标签: java android

在下面运行代码时,显示以下错误:

  

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ android.support.v4.app.FragmentManager android.support.v7.app.AppCompatActivity.getSupportFragmentManager()”。

如何从适配器类中调用片段?

Additem.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) 
        Fragment fragment = null;
        int position=getAdapterPosition();
        if( position==0) {
            fragment = new AddtoCard_Fragment();
        }
        if (fragment != null) {
            FragmentManager fragmentManager = ((AppCompatActivity)context).getSupportFragmentManager();
            FragmentTransaction ft = fragmentManager.beginTransaction();
            fragmentManager.popBackStack();
            ft.replace(R.id.screenarea, fragment);
            ft.commit();
        }
    }
});

1 个答案:

答案 0 :(得分:0)

Adapter 类中使用 Constructor 传递活动 Context ,然后使用 ActivityContext.getSupportFragmentManager()

我希望有帮助