在 Android 中使用 FirebaseListAdapter 填充列表视图

Populating listview with FirebaseListAdapter in Android

我正在使用计数器值来计算我的 ListView 项。但是当我向下滚动和向后向上滚动时,它仍然计算我代码中的值并更改值。

这个值应该是 1 和 2 而不是 7 和 8...

这是我的代码

 DatabaseReference myQuery = databaseReference.child("Tests").child(PIN).child("Questions");
    FirebaseListAdapter<QuizStatistic_list> adapter = new FirebaseListAdapter<QuizStatistic_list>(this, QuizStatistic_list.class, R.layout.list_quiz_statistic, myQuery) {
        @Override
        protected void populateView(View v, QuizStatistic_list model, int position) {

            TextView quizQuestion, questionNumber, ansA, ansB, ansC, ansD;


            quizQuestion = (TextView) v.findViewById(R.id.textView_quizQuestion);
            questionNumber = (TextView) v.findViewById(R.id.textView_questionNumber);
            ansA = (TextView) v.findViewById(R.id.textView_ansA);
            ansB = (TextView) v.findViewById(R.id.textView_ansB);
            ansC = (TextView) v.findViewById(R.id.textView_ansC);
            ansD = (TextView) v.findViewById(R.id.textView_ansD);


            quizQuestion.setText(model.getQuestion());
            questionNumber.setText(counter.toString());
            ansA.setText("A:  " + model.getAnswerA());
            ansB.setText("B:  " + model.getAnswerB());
            ansC.setText("C:  " + model.getAnswerC());
            ansD.setText("D:  " + model.getAnswerD());

           //This value counts listview items
           counter++;
        }
    };
    questionsList.setAdapter(adapter);

使用位置而不是计数器。!

questionNumber.setText(""+position+1);

位置是你的数组列表的索引号。! 所以它会从 0 开始加一个,它会显示你想要的结果第一个数字将是索引 0+1=1; 也许它会帮助你喜欢