0
我正在使用FirebaseUI RecyclerView,我想在單擊列表項時創建對話框片段。要創建一個新的片段,我必須從靜態類調用getFragmentManager()
。該錯誤由IDE給出。我無法將參數傳遞給靜態Viewholder類,因爲它是由Firebase回收站適配器直接實例化的。從靜態視圖持有者類調用getFragmentManager()方法FirebaseUI
這裏是適配器的代碼片段:
mAdapter = new FirebaseRecyclerAdapter<Course, CourseViewHolder>(
Course.class,
R.layout.list_item_course,
CourseViewHolder.class,
mDatabaseReference
) {
靜態類代碼是在這裏:
private static class CourseViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textView;
public CourseViewHolder(View itemView) {
super(itemView);
textView = (TextView) itemView.findViewById(R.id.list_item_course_title_text_view);
}
@Override
public void onClick(View v) {
FragmentManager manager = getFragmentManager();
CourseOperationFragment CourseOperationFragment = new CourseOperationFragment();
CourseOperationFragment.show(manager, DIALOG_OPERATION);
}
}
非常感謝你的邏輯。 – NightOwl
這太瘋狂了,謝謝!如果它幫助其他人:我使用它,因爲我有一系列片段的活動,在每個片段上收集用戶的答案。其中一個片段具有Firebase RecyclerView,用戶可從列表中進行選擇。從我的FirebaseRecyclerAdapter中,我想在調用Activity中調用一個方法,在選擇一個項目後移動到下一個Fragment。這個解決方案非常優雅,效果很棒! – Lucy