如何从另一个类中删除RecyclerView中的项目?我想避免使用静态方法,因为我最终创建了很多它们,这是一个错误的过程。还有其他解决方案吗?RecyclerView从另一个类中删除一个项目
我想将其从BottomSheetFragment中移除。
如何从另一个类中删除RecyclerView中的项目?我想避免使用静态方法,因为我最终创建了很多它们,这是一个错误的过程。还有其他解决方案吗?RecyclerView从另一个类中删除一个项目
我想将其从BottomSheetFragment中移除。
您可以使用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();
您是否阅读过文档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
}
}