입니다 onCheckedChaneListener 변경지고위치는 내가 어댑터가 걸렸고 된 후에는 잘못된 결과 BT 각 행 [단일 선택]에 라디오 버튼을 가지고있다 CustomAdapter로리스트 뷰를 생성 한 내부 어댑터
if (arr_data.get(position).isdefaultCurrency()) holder.radio_currency.setChecked(true);
} else {
holder.radio_currency.setChecked(false);
}
holder.radio_currency.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
for (int k = 0; k < arr_data.size(); k++) {
if (k == position) {
arr_data.get(k).setIsdefaultCurrency(true);
} else {
arr_data.get(k).setIsdefaultCurrency(false);
}
}
} else {
arr_data.get(position).setIsdefaultCurrency(false);
}
notifyDataSetChanged();
}
});
앱을 실행할 때 어떤 일이 발생하며 그 결과는 원하는 것과 어떻게 다릅니 까? –
위치 값 1 ** Iscurrencydefault() ** 값이 true입니다. 따라서이 조건에서 'if (k == position)'을 확인하면서 위치가 0을 반환합니다. 그게 내 문제 야. –
** 완전한 ** 코드 예제를 제공 할 수 있습니까? 위에 주어진 코드가 포함 된 클래스와 메소드는 무엇입니까? –