在Android中使用FirebaseListAdapter填充listview

时间:2017-03-12 12:16:13

标签: android listview firebase firebase-realtime-database firebaseui

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

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

should be 1 and 2

这是我的代码

 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);

1 个答案:

答案 0 :(得分:5)

使用位置代替柜台。

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

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