В пользовательском адаптере массива у меня есть список строковых значений, которые являются либо «истинными», либо «ложными».
public class CustomFriendList extends ArrayAdapter<String> {
private final Activity context;
private List<String> friendName = new ArrayList<String>();
private List<String> backchatable = new ArrayList<String>();
public CustomFriendList(Activity context, List<String> friendName, List<String> backchatable){
super(context, R.layout.fragment_friend_list_item, friendName);
this.context = context;
this.friendName = friendName;
this.backchatable = backchatable;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.fragment_friend_list_item, null, true);
TextView friend = (TextView) rowView.findViewById(R.id.friendName);
Switch switchBackChat = (Switch) rowView.findViewById(R.id.on_off_backchatable);
friend.setText(friendName.get(position));
for (String ele : backchatable) {
//System.out.println(ele.toString());
if(ele.equals("false")){
switchBackChat.setChecked(false);
}else if(ele.equals("true")){
switchBackChat.setChecked(true);
}
}
return rowView;
}
}
Я хочу установить состояние переключателей в соответствии со значениями «истина» или «ложь».
Однако приведенный выше код переключает все переключатели в пользовательском listView, а не соответствующие переключатели в какой-либо позиции в listView.