jeudi 12 mai 2016

All check box in list view is not getting visible from invisible state when button is clicked from Mainactivity

I am new to android , here am struggling with the check box in list view. By default i ,made my check box in list view to be in INVISIBLE mode when the button is clicked from MainActivity i want to all check box in list view to be in VISIBLE mode but when i am clicking the button check box is VISIBLE in only one list row in all other rows still the check box is in INVISIBLE mode.

FavouriteListAdapter

public class FavouriteListAdapter extends BaseAdapter {
private Context mContext;
private LayoutInflater mInflater;
ArrayList<FavouritesArray> mArrFavourites;
ViewHolder viewHolder;
String favId;

//Make checkbox to visible in all rows in listview
public void setcheckbox() {
    viewHolder.favCheckbox.setVisibility(View.VISIBLE);
}

public static class ViewHolder {
    public TextView favName;
    public TextView favUrl;
    public TextView favAddress;
    public CheckBox favCheckbox;
}

public FavouriteListAdapter(Context context, ArrayList<FavouritesArray> lArrFavourites) {
    mContext = context;
    mArrFavourites = lArrFavourites;
}

@Override
public int getCount() {
    if (mArrFavourites == null) {
        return 0;
    }
    return mArrFavourites.size();
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    if (convertView == null) {
        viewHolder = new ViewHolder();
        convertView = mInflater.inflate(R.layout.favouritelistadapter, parent, false);
        viewHolder.favName = (TextView) convertView.findViewById(R.id.fav_name);
        viewHolder.favUrl = (TextView) convertView.findViewById(R.id.fav_url);
        viewHolder.favAddress = (TextView) convertView.findViewById(R.id.fav_address);
        viewHolder.favCheckbox = (CheckBox) convertView.findViewById(R.id.fav_checkbox);
        viewHolder.favCheckbox .setVisibility(View.INVISIBLE);
        convertView.setTag(viewHolder);

    } else {
        viewHolder = (ViewHolder) convertView.getTag();
    }

    final FavouritesArray chooseService = mArrFavourites.get(position);
        viewHolder.favName.setText(chooseService.getFavouritename());
        viewHolder.favAddress.setText(chooseService.getFavouritelocation());

    viewHolder.favCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked) {
                favId = chooseService.getFavouritename();
                ((MainActivity) mContext).check(favId);
            }
        }
    });
    return convertView;
}}

Aucun commentaire:

Enregistrer un commentaire