getView で行われるカスタム リストビューがあります。各行の右側に 4 つのテキストビューとラジオボタンが必要です。ここでこれに関する多くの例を見ましたが、アイデアを得ることができませんでした。これが私の getView 関数です。この状況では、行を表示できますが、別のラジオボタンを選択すると、ラジオボタンがまだチェックされています。ラジオボタンを適切に機能させ、選択したボタンの ID を取得するには、関数に何を追加する必要がありますか? ありがとう
private static class CitizenAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public CitizenAdapter(Context context) {
mInflater = LayoutInflater.from(context);
}
public int getCount() {
return sicilArr.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.table_row_citizen, null);
holder = new ViewHolder();
holder.text1 = (TextView) convertView.findViewById(R.id.TextView01);
holder.text2 = (TextView) convertView.findViewById(R.id.TextView02);
holder.text3 = (TextView) convertView.findViewById(R.id.TextView03);
holder.text4 = (TextView) convertView.findViewById(R.id.TextView04);
holder.radioCitizen = (RadioGroup) convertView.findViewById(R.id.radioGroupCitizen);
holder.radioButCitizen = (RadioButton) convertView.findViewById(R.id.radioButtonCitizen);
holder.radioCitizen.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
}
});
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text1.setText(array1.get(position));
holder.text2.setText(array2.get(position));
holder.text3.setText(array3.get(position));
holder.text4.setText(array4.get(position));
return convertView;
}
static class ViewHolder {
TextView text1;
TextView text2;
TextView text3;
TextView text4;
RadioGroup radioCitizen;
RadioButton radioButCitizen;
}
}
また、これは私のxml行ファイルです:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:gravity="left|center"
android:layout_width="wrap_content"
android:paddingBottom="10px"
android:paddingTop="10px"
android:paddingLeft="3px">
<TextView
android:id="@+id/TextView01"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="15dip"
android:textStyle="bold"
android:textColor="#d08021">
</TextView>
<TextView
android:id="@+id/TextView02"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="15dip"
android:textStyle="bold"
android:textColor="#81A2BC">
</TextView>
<TextView
android:id="@+id/TextView03"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="15dip"
android:textStyle="bold"
android:textColor="#81A2BC">
</TextView>
<TextView
android:id="@+id/TextView04"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="15dip"
android:textStyle="bold"
android:textColor="#81A2BC">
</TextView>
<RadioGroup
android:id="@+id/radioGroupCitizen"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/radioButtonCitizen"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>