我有一個活動和兩個片段,片段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);
我已經嘗試了所有類型的上下文,它不會工作
請張貼在您實現點擊式界面活性內部 –
我更新了它上面 –