我有一个活动和两个片段,片段A和片段B.片段A包含一个RecyclerView。在它的适配器(MovieRecyclerAdapter)我有一个中继列的ID点击回片段A.设计问题 - RecyclerView和片段之间的通信
这里是在适配器接口接口:
private MovieClickedListener movieClickedListener;
public interface MovieClickedListener{
void onCLicked(int Id);
}
public MovieRecyclerAdapter(MovieClickedListener listener){
this.movieClickedListener = listener;
}
我在片段类实现这个以检索数据。
implements MovieRecyclerAdapter.MovieClickedListener
我现在有数据。这是我的问题,我需要将它传递给片段B.我知道我可以实现另一个在片段A和我的Activity之间进行通信的接口,将它传递到那里,然后在我的Activity中检索它并将ID传递给片段B.
我想知道如果这是正确的策略,或者如果有一个更高效的方式获得点击ID从RecyclerView在FragmentA到片段B?
我试图从我的RecyclerView直接在我的Activity而不是FragmentA实现接口,但是现在当我单击一个项目时没有任何事情发生。
这里是活动中的clickedListener和简单的Log语句。
public class MainActivity extends AppCompatActivity implements MovieRecyclerAdapter.MovieClickedListener { @Override
public void onCLicked(int Id) {
Log.v("TAG","In MainActivity")
}}
的问题,如果我做这个,落实活动中的clickedListener而不是片段,当我实例化我RecyclerView在我的片段,我不能再通过“本”作为构造参数转接器。
movieRecyclerAdapter = new MovieRecyclerAdapter(this);
我已经尝试了所有类型的上下文,它不会工作
请张贴在您实现点击式界面活性内部 –
我更新了它上面 –