Я создаю представление списка с флажком. Я столкнулся с проблемой в своем списке: когда я выбираю любой флажок, и когда я просматриваю свой список, этот флажок становится не выбранным.checkbox состояние без изменений после прокрутки оно станет таким же в Android
Ниже мой фрагмент кода:
public class HomeListAdapter extends ArrayAdapter<HashMap<String, Object> > {
boolean[] itemChecked;
//
private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();
private DisplayImageOptions options;
private CheckBox check;
public HomeListAdapter(Context context, ArrayList<HashMap<String, Object>> dataMap) {
super(context, 0, dataMap);
itemChecked = new boolean[dataMap.size()];
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.com_facebook_profile_picture_blank_square)
.showImageForEmptyUri(R.drawable.com_facebook_profile_picture_blank_square)
.showImageOnFail(R.drawable.com_facebook_profile_picture_blank_square)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.displayer(new RoundedBitmapDisplayer(20)).build();
this.notifyDataSetChanged();
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
HashMap<String, Object> dataMap = getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item1, parent, false);
}
TextView description = (TextView) convertView.findViewById(R.id.description);
description.setText(dataMap.get(Home1.TAG_CNAME).toString());
TextView email = (TextView) convertView.findViewById(R.id.company);
email.setText(dataMap.get(Home1.TAG_EMAIL).toString());
check= (CheckBox) convertView.findViewById(R.id.ck);
check.setTag(getPosition(dataMap));
check.setChecked(true);
check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int getPosition = (Integer) buttonView.getTag();
}
});
if (dataMap.get(Home1.TAG_LIKE).toString().equals("true")) {
check.setChecked(true);
}else{
check.setChecked(false);
}
ImageView logo = (ImageView) convertView.findViewById(R.id.logo);
ImageLoader.getInstance().displayImage(dataMap.get(Home1.TAG_IMAGE).toString(),logo, options, animateFirstListener);
return convertView;
}
не в состоянии понять, U, потому что я new on android ... plz может помочь мне на примере, я имею в виду, что вы можете сделать это в моем коде. –
Я обновил свой ответ, чтобы четко указать, куда все должно идти. Хотя я мог бы просто опубликовать свой код с соответствующими обновлениями, я думаю, что это более полезно для всех, кто хочет научиться видеть, что нужно изменить, и тот факт, что вам нужно как хранить, проверяется ли элемент при изменении статуса, а затем установите, проверяется ли 'View' в методе' getView() '. Если вы все еще не понимаете, задайте конкретный вопрос о том, какой бит моего ответа вы не понимаете, и я попытаюсь уточнить. – HexAndBugs
@TejashreeVerma: пожалуйста, не просите людей делать вашу работу за вас. Если вы застряли и нуждаетесь в индивидуальной поддержке, возможно, вам нужен фрилансер по вызову, который может помочь вам, когда вы застрянете? Конечно, вам нужно будет их оплатить! – halfer