0

リストビューの行ごとに異なるレイアウトを作成しようとしていますが、ListviewAdapter getView メソッドを使用して各行に同じことを書きます。

私の_data1は以下です:

_data1.get(0) = { グネスリ }; //質問1の回答1

_data1.get(1) = { yagmurlu }; //質問1の回答2

_data1.get(2) = { イベント }; // question2 の answer3

_data1.get(3) = { hayir }; //質問2の回答4

_soru データは以下のとおりです。

_soru.get(0) = { "ハヴァ ナシル ?" }; // 質問1

_soru.get(1) = { "コーラ セビムリミ ?" }; // 質問2

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        for (int j = 0; j < _type.size(); j++) {
            if (_type.get(j).equals("1")) {
                convertView = inflater.inflate(R.layout.list_item_widget1, parent, false);
                radioGroup1 = (RadioGroup) convertView.findViewById(R.id.radioGroup1);
                soru = (TextView) convertView.findViewById(R.id.soru);
                soru.setTextSize(20);
                soru.setText(_soru.get(j));
                soru.setGravity(Gravity.CENTER);
                final RadioButton[] radioButton1 = new RadioButton[10];
                for (int i = 0; i < _data1.get(0).size(); i++) {
                    String[] temp1 = _data1.get(0).get(i).split(",");
                    if (temp1[2].equals(_pollId.get(j))) {
                        radioButton1[i] = new RadioButton(_context);
                        radioGroup1.addView(radioButton1[i]);
                        radioButton1[i].setText(temp1[1]);
                        String[] temp2 = _data2.get(0).get(i).split(",");
                        if (temp2[2].equals(temp1[0])) {
                            if (temp2[1].equals("1")) {
                                radioButton1[i].setChecked(true);
                            }
                        }
                    }
                }
            } else if (_type.get(j).equals("2")) {
                convertView = inflater.inflate(R.layout.list_item_widget2, parent, false);
                radioGroup2 = (RadioGroup) convertView.findViewById(R.id.radioGroup2);

                soru2 = (TextView) convertView.findViewById(R.id.soru2);
                soru2.setTextSize(20);
                soru2.setText(_soru.get(j));
                soru2.setGravity(Gravity.CENTER);
                final RadioButton[] radioButton2 = new RadioButton[10];
                for (int i = 0; i < _data1.get(0).size(); i++) {
                    String[] temp1 = _data1.get(0).get(i).split(",");
                    if (temp1[2].equals(_pollId.get(j))) {
                        radioButton2[i] = new RadioButton(_context);
                        radioGroup2.addView(radioButton2[i]);
                        radioButton2[i].setText(temp1[1]);
                        String[] temp2 = _data2.get(0).get(i).split(",");
                        if (temp2[2].equals(temp1[0])) {
                            if (temp2[1].equals("1")) {
                                radioButton2[i].setChecked(true);
                            }
                        }
                    }
                }
            }
        }
    }
    return convertView;
}

そして、以下のようになります。

ここに画像の説明を入力

4

0 に答える 0