我想取消我的底片点击cardwiew在底片
这是我的onbindviewholder代码
class Viewholder extends RecyclerView.ViewHolder implements View.OnClickListener{
private TextView num_name;
private TextView call_type;
private TextView call_duration;
public Viewholder(@NonNull View itemView) {
super(itemView);
num_name = itemView.findViewById(R.id.name_number);
call_type = itemView.findViewById(R.id.call_type_txt);
call_duration = itemView.findViewById(R.id.call_duration_txt);
itemView.setOnClickListener(this);
}
private void setData(String name_num, String call_typ, String call_dur){
num_name.setText(name_num);
call_type.setText(call_typ);
call_duration.setText(call_dur);
}
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(),"clicked", Toast.LENGTH_SHORT).show();
BottomSheetCall bottomSheetCall = new BottomSheetCall();
bottomSheetCall.dismiss();
}
}
我得到了这个错误
java.lang.IllegalStateException: Fragment BottomSheetCall{31fd510 (dbba722a-e3f4-46d4-826c-f31cbc221bd6)} not associated with a fragment manager.
at androidx.fragment.app.Fragment.requireFragmentManager(Fragment.java:910)
at androidx.fragment.app.DialogFragment.dismissInternal(DialogFragment.java:245)
at androidx.fragment.app.DialogFragment.dismiss(DialogFragment.java:202)
at com.google.android.material.bottomsheet.BottomSheetDialogFragment.dismiss(BottomSheetDialogFragment.java:47)
at com.bizcure.waessentials.ui.main.CallAdapter$1.onClick(CallAdapter.java:53)
一旦单击,我想取消底部工作表并返回活动。
提前感谢=)
1条答案
按热度按时间3qpi33ja1#
你在这里所做的不会像你期望的那样起作用:-
在这里您正在创建一个新的
bottomSheet
如此使用的对象dismiss()
在这个物体上不起作用。相反,您需要一个接口,该接口将为您提供一个对bottomshett片段的回调,您在其中设置了recyclerview。在这个回调中,只需调用bottomsheet inbuild方法dismiss()
. 下面是关于s.o的答案,它显示了如何创建接口,该接口将为您提供对片段的回调。