3 回答
TA贡献1852条经验 获得超1个赞
在您的 onClick 侦听器中,您需要使用fragmentManager传递给适配器的 。相反,你使用getSupportFragmentManager(). 更改后它对我有用。
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BottomSheetFragment bottomSheetFragment = new BottomSheetFragment();
// <-- Here change getSupportFragmentManager() to fragmentManager
bottomSheetFragment.show(fragmentManager, bottomSheetFragment.getTag());
}
});
TA贡献1810条经验 获得超4个赞
从 RecyclerView.Adapter 调用 BottomSheetDialog 片段。试试这个对我来说效果很好。
DialogFragment bottomSheetDialogFragment = new BottomsheetDialog();
bottomSheetDialogFragment.show(((FragmentActivity)mContext).getSupportFragmentManager(), bottomSheetDialogFragment.getTag());
TA贡献1798条经验 获得超3个赞
你不能这样做:
AppCompatActivity appCompatActivity = new AppCompatActivity();
FragmentManager fragmentManager = appCompatActivity.getSupportFragmentManager();
BottomSheetFragment bottomSheetFragment = new BottomSheetFragment();
bottomSheetFragment.show(fragmentManager, bottomSheetFragment.getTag());
您应该创建一个包含您的 BottomSheetFragment 的新活动(一个新类),并使用意图启动该活动。
添加回答
举报