如何从其他类中删除RecyclerView中的项目?我想避免使用静态方法,因为我最终创建了很多静态方法,这是一个错误的过程。还有其他解决方案吗?
我想从BottomSheetFragment中删除它。
答案 0 :(得分:1)
您是否阅读了文件communicating with other fragments?
它建议在BottomSheetFragment
内创建监听器接口,该接口将负责来自它的操作。比你的activity
应该像这样实现这个
public static class MainActivity extends Activity
implements BottomSheetFragment.OnActionSelectedListener{
...
public void onActionSelected(int position) {
// The user did some action from the BottomSheetFragment
// Do something here to remove item from the RecyclerView
}
}
答案 1 :(得分:0)
您可以使用Life Cycle。您所要做的就是创建一个沟通界面。
interface RemoveItemSignal{
void onRemove();
}
然后注册一个监听器。
Signal<RemoveItemSignal> signal = SignalBag.Inject(RemoveItemSignal.class);
signal.addListener(this); // Your listener that implements RemoveItemSignal
你可以从你的片段中发出这样的信号:
Signal<RemoveItemSignal> signal = SignalBag.Inject(RemoveItemSignal.class);
signal.dispatcher.onRemove();