私はアンドロイドが初めてです。私はlistviewのチェックボックスに苦労しています。デフォルトでは、MainActivityからボタンをクリックすると、listviewのチェックボックスを非表示モードにしました。 VISIBLEモードにするにはlistviewのすべてのチェックボックスをオンにしたいが、ボタンをクリックすると他のすべての行のリスト行にVISIBLEしか表示されない。それでもチェックボックスは非表示モードです。mainactivityからボタンをクリックすると、リストビュー内のすべてのチェックボックスが非表示状態にならない
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;
}}
アム構造体は、同様の方法で、私はいくつかのアイデア –