fragment- firebaserecycler 어댑터가 조각에서 작동하지 않습니다.

hamrodoko1 doko

실시간 데이터베이스에 데이터가 있고 리사이클 러 뷰가있는 조각으로 해당 데이터를 표시하려고합니다. 그러나 데이터는 채워지지 않습니다. populateView 메서드조차도 트리거되지 않았습니다 (기록을 시도했습니다). 활동에서는 잘로드되지만 조각에서는로드되지 않습니다. 누구든지 도울 수 있습니까?

public class ExtraFragment extends Fragment {
    RecyclerView recyclerView;
    TextView clickLink;
    DatabaseReference databaseReference;
    FirebaseRecyclerAdapter<ExtraBeans,MyViewHolder> recyclerAdapter;

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {




        View v = inflater.inflate(R.layout.fragment_extra, null, false);
        recyclerView = (RecyclerView) v.findViewById(R.id.recyclerView);




        clickLink = (TextView) v.findViewById(R.id.clickLink);
        databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://myeg-7g8990.firebaseio.com/sim/my data");
        Log.v("adslquestion","mhere"+"");





                 recyclerAdapter= new FirebaseRecyclerAdapter<ExtraBeans,MyViewHolder>

                         (ExtraBeans.class,
                        R.layout.options_extra,
                        MyViewHolder.class,
                        databaseReference) {

            @Override
            protected void populateViewHolder(MyViewHolder viewHolder, ExtraBeans model, int position) {


                viewHolder.setQuestion(model.getQuestion());
                viewHolder.setAnswer(model.getAnswer());
                viewHolder.setWinner(model.getWinner());
                Log.v("adslquestion",model.getQuestion()+"");


            }




        };
        recyclerView.setAdapter(recyclerAdapter);
   recyclerAdapter.notifyDataSetChanged();
        databaseReference.keepSynced(true);
                    }
                }
        );


        return v;
    }


  public static  class MyViewHolder extends RecyclerView.ViewHolder{
        TextView question;
        TextView answer;
        TextView winner;
        View mView;

        public MyViewHolder(View itemView) {

            super(itemView);
            mView=itemView;

            Log.v("adslquestion","aarko ma");
        }

        public void setQuestion(String questionString)
        {
            question=(TextView)mView.findViewById(R.id.question);
            question.setText(questionString);



        }
        public void setAnswer(String answerString)
        {
            answer=(TextView)mView.findViewById(R.id.answer);
            answer.setText(answerString);




        }

        public void setWinner(String winnerString)
        {
            winner=(TextView)mView.findViewById(R.id.winner);
            winner.setText(winnerString);



        }
    }
Sháilèndra Wregmi

조각 대신 활동을 사용하는 것이 좋습니다. 나는 간접적으로 firebase 개발자 팀에 연락하여 조각에서 firebase에 recycler 어댑터를 사용하는 데 몇 가지 오류가 있음을 발견했습니다. 프래그먼트를 사용하고 싶다고 강요한다면 내가 당신을 위해 뭔가를 가질 수 있습니다. 목록보기를 사용하고 코드를 수정했습니다.

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.fragment_extra, null, false);
    listView = (ListView) v.findViewById(R.id.listView);

    clickLink = (TextView) v.findViewById(R.id.clickLink);
    databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://data-your.value.com/etc");

    listAdapter = new FirebaseListAdapter<ExtraBeans>(getActivity(), ExtraBeans.class, R.layout.options_extra, databaseReference) {
        TextView question;
        TextView answer;
        TextView winner;
        TextView detail;

        @Override
        protected void populateView(View v, ExtraBeans model, int position) 
        {
            answer = (TextView) v.findViewById(R.id.answer);
            question = (TextView) v.findViewById(R.id.question);
            winner = (TextView) v.findViewById(R.id.winner);
            detail = (TextView) v.findViewById(R.id.detail);

            question.setText(model.getQuestion());
            answer.setText(model.getAnswer());
            winner.setText("Winner- " + model.getWinner());
            detail.setText(model.getDetail());
        }
    };
    listView.setAdapter(listAdapter);
    listAdapter.notifyDataSetChanged();
    databaseReference.keepSynced(true);

    return v;
}

부드러운 스크롤을 위해 뷰 홀더를 직접 만들 수도 있습니다. 이 코드가 도움이되는지 알려주세요.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ListView 어댑터가 AppCompatActivity에서 작동하지 않습니다.

분류에서Dev

Recycler View가 Fragment에서 작동하지 않습니다.

분류에서Dev

onClickListener가 Fragment에서 작동하지 않습니다.

분류에서Dev

setOnTouchListener가 Android Fragment에서 작동하지 않습니다.

분류에서Dev

Android : notifyDataSetChanged ()가 Fragment에서 작동하지 않습니다.

분류에서Dev

OnClickListener가 내 어댑터 클래스 내에서 작동하지 않습니다.

분류에서Dev

notifyDataSetChanged ()가 gridview 용 어댑터에서 작동하지 않습니다.

분류에서Dev

Android : 조각의 어댑터가 작동하지 않음

분류에서Dev

onOptionsItemSelected가 조각에서 작동하지 않습니다.

분류에서Dev

Android OnClickListener가 조각에서 작동하지 않습니다.

분류에서Dev

OnItemSelectedListener가 탭 조각에서 작동하지 않습니다.

분류에서Dev

OnItemSelectedListener가 탭 조각에서 작동하지 않습니다.

분류에서Dev

ScrollView가 조각에서 작동하지 않습니다.

분류에서Dev

facebook sdk가 조각에서 작동하지 않습니다.

분류에서Dev

Spinner OnItemSelectedListener가 조각에서 작동하지 않습니다.

분류에서Dev

AlertDialog가 조각에서 작동하지 않습니다.

분류에서Dev

Android ListView 어댑터가 Parse SDK에서 작동하지 않음

분류에서Dev

알람 관리자가 Fragment에서 작동하지 않습니다.

분류에서Dev

notifyDataSetChanged ()가 Fragment 내부의 GridView에서 작동하지 않습니다.

분류에서Dev

맞춤 어댑터가있는 Listview가 SherlockFragment 내에서 작동하지 않습니다.

분류에서Dev

무선 Broadcom 어댑터가 커널 4.2가있는 Ubuntu 14.04에서 작동하지 않습니다.

분류에서Dev

무선 Broadcom 어댑터가 커널 4.2가있는 Ubuntu 14.04에서 작동하지 않습니다.

분류에서Dev

RecyclerView가 어댑터에 연결되어 있지 않습니다.

분류에서Dev

OnItemClick은 사용자 지정 어댑터에서 작동하지 않습니다.

분류에서Dev

AsyncTask는 사용자 지정 어댑터에서 작동하지 않습니다.

분류에서Dev

조각, viewPager, 목록보기 및 어댑터가 작동하지 않음

분류에서Dev

lateinit 속성 어댑터가 Fragment로 RecyclerView를 설정하는 동안 초기화되지 않았습니다.

분류에서Dev

Android Java-Glide가 사용자 정의 어댑터에서 작동하지 않습니다.

분류에서Dev

Collections.sort가 listview 및 어댑터에서 예상대로 작동하지 않습니다.

Related 관련 기사

  1. 1

    ListView 어댑터가 AppCompatActivity에서 작동하지 않습니다.

  2. 2

    Recycler View가 Fragment에서 작동하지 않습니다.

  3. 3

    onClickListener가 Fragment에서 작동하지 않습니다.

  4. 4

    setOnTouchListener가 Android Fragment에서 작동하지 않습니다.

  5. 5

    Android : notifyDataSetChanged ()가 Fragment에서 작동하지 않습니다.

  6. 6

    OnClickListener가 내 어댑터 클래스 내에서 작동하지 않습니다.

  7. 7

    notifyDataSetChanged ()가 gridview 용 어댑터에서 작동하지 않습니다.

  8. 8

    Android : 조각의 어댑터가 작동하지 않음

  9. 9

    onOptionsItemSelected가 조각에서 작동하지 않습니다.

  10. 10

    Android OnClickListener가 조각에서 작동하지 않습니다.

  11. 11

    OnItemSelectedListener가 탭 조각에서 작동하지 않습니다.

  12. 12

    OnItemSelectedListener가 탭 조각에서 작동하지 않습니다.

  13. 13

    ScrollView가 조각에서 작동하지 않습니다.

  14. 14

    facebook sdk가 조각에서 작동하지 않습니다.

  15. 15

    Spinner OnItemSelectedListener가 조각에서 작동하지 않습니다.

  16. 16

    AlertDialog가 조각에서 작동하지 않습니다.

  17. 17

    Android ListView 어댑터가 Parse SDK에서 작동하지 않음

  18. 18

    알람 관리자가 Fragment에서 작동하지 않습니다.

  19. 19

    notifyDataSetChanged ()가 Fragment 내부의 GridView에서 작동하지 않습니다.

  20. 20

    맞춤 어댑터가있는 Listview가 SherlockFragment 내에서 작동하지 않습니다.

  21. 21

    무선 Broadcom 어댑터가 커널 4.2가있는 Ubuntu 14.04에서 작동하지 않습니다.

  22. 22

    무선 Broadcom 어댑터가 커널 4.2가있는 Ubuntu 14.04에서 작동하지 않습니다.

  23. 23

    RecyclerView가 어댑터에 연결되어 있지 않습니다.

  24. 24

    OnItemClick은 사용자 지정 어댑터에서 작동하지 않습니다.

  25. 25

    AsyncTask는 사용자 지정 어댑터에서 작동하지 않습니다.

  26. 26

    조각, viewPager, 목록보기 및 어댑터가 작동하지 않음

  27. 27

    lateinit 속성 어댑터가 Fragment로 RecyclerView를 설정하는 동안 초기화되지 않았습니다.

  28. 28

    Android Java-Glide가 사용자 정의 어댑터에서 작동하지 않습니다.

  29. 29

    Collections.sort가 listview 및 어댑터에서 예상대로 작동하지 않습니다.

뜨겁다태그

보관