0
FirebaseUI RecyclerViewで作業しています。リストアイテムをクリックしたときにダイアログフラグメントを作成します。新しいフラグメントを作成するには、getFragmentManager()
を静的クラスから呼び出す必要があります。エラーはIDEによって与えられます。ファイヤーベースのリサイクラーアダプターによって直接インスタンス化されるため、静的なビューホルダークラスにパラメーターを渡すことはできません。FirebaseUIの静的ビューホルダークラスからgetFragmentManager()メソッドを呼び出す
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
これは役に立ちました、ありがとう!それが他の人を助ける場合:私はそれを使用しました。なぜなら、一連の断片を持つアクティビティがあり、各断片のユーザーからの回答を集めるからです。フラグメントの1つに、ユーザがリストから選択するFirebase RecyclerViewがあります。私のFirebaseRecyclerAdapterの中から、呼び出しアクティビティ内のメソッドを呼び出して、アイテムを選択した後で次のフラグメントに移動したいと考えています。このソリューションはエレガントで素晴らしいです! – Lucy