Я нашел решение назад, но был занят проектом, поэтому разместил его сейчас, учитывая, что кто-то может получить от него помощь!
Чтобы сохранить выбранную позицию, соответствующую этой конкретной группе в расширяемом ListView, я должен сохранить эту позицию! Поэтому я сохранил его с помощью HashMap.
Итак, в первом параметре hashmap я сохранил положение группы и идентификатор второго представления. И установите его, когда заполняется дочерний объект расширяемого объекта.
Итак, окончательный код выглядит следующим образом:
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final AttributePOJO mItem = (AttributePOJO) getChild(groupPosition, childPosition);
String mGroup = (String) getGroup(groupPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this.mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.attribute_expanable_child_item, null);
}
RadioButton mRadioButton = convertView.findViewById(R.id.radio_option);
mRadioButton.setVisibility(View.VISIBLE);
try {
mRadioButton.setChecked(childPosition == mChildCheckStates.get(groupPosition));
}catch (Exception e){
e.printStackTrace();
}
mRadioButton.setTag(childPosition);
mRadioButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mChildCheckStates.put(groupPosition, (Integer) view.getTag());
notifyDataSetChanged();
}
});
return convertView;
}
И это все!