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 的新活動(一個新類),并使用意圖啟動該活動。
添加回答
舉報