RecyclerView从另一个类中删除一个项目

时间:2016-11-06 11:21:47

标签: java android android-fragments android-recyclerview

如何从其他类中删除RecyclerView中的项目?我想避免使用静态方法,因为我最终创建了很多静态方法,这是一个错误的过程。还有其他解决方案吗?

我想从BottomSheetFragment中删除它。

2 个答案:

答案 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();