簡體   English   中英

如何在ListView中的多個RadioGroup中單獨驗證所選選項?

[英]How can I individually validate the selected option in multiple RadioGroups within a ListView?

我對Android開發和編程很新。 我的目標是以這種格式創建一個測驗。

每行都是一個自定義視圖,其中包含一個帶有3個RadioButtons的RadioGroup。 正如你在圖片中看到的那樣,工作正常。

這就是List的填充方式:

private void populateListView() {
    ArrayAdapter<QuizQuestion> adapter = new MyListAdapter();
    ListView list = (ListView) findViewById(R.id.questionsListView);
    list.setAdapter(adapter);
}

private class MyListAdapter extends ArrayAdapter<QuizQuestion> {
    public MyListAdapter() {
        super(ShortQuiz.this, R.layout.item_view, myQuestions);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View itemView = convertView;
        if (itemView == null) {
            itemView = getLayoutInflater().inflate(R.layout.item_view, parent, false);
        }

        QuizQuestion currentQuestion = myQuestions.get(position);

        ImageView imageView = (ImageView) itemView.findViewById(R.id.item_icon);
        imageView.setImageResource(currentQuestion.getImageId());

        //Question
        TextView question = (TextView) itemView.findViewById(R.id.item_question);
        question.setText(currentQuestion.getQuestion());

        //Game
        TextView game = (TextView) itemView.findViewById(R.id.item_game);
        game.setText(currentQuestion.getGameName());

        //Option A
        TextView optionA = (TextView) itemView.findViewById(R.id.item_radioA);
        optionA.setText(currentQuestion.getOptionA());

        //Option B
        TextView optionB = (TextView) itemView.findViewById(R.id.item_radioB);
        optionB.setText(currentQuestion.getOptionB());

        //Option C
        TextView optionC = (TextView) itemView.findViewById(R.id.item_radioC);
        optionC.setText(currentQuestion.getOptionC());


        return itemView;
    }
}

問題是我不知道如何在創建之后“訪問”(設置/獲取ids)每個RadioGroup以驗證正確或錯誤的答案,我想一次按下按鈕,如下所示:如果選擇的選項是正確的然后+1到正確的答案。

謝謝。

每行使用ViewHolder。 https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder.html

您可以引用每個行中的項目。 您可以搜索ViewHolder在實踐中如何使用的示例,但通常,持有者中的每一行都將使用setTag()存儲並使用getTag()進行檢索。 因此,您可以在以下視圖中獲取項目:

view.getTag();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM