水平リストビューで複数のリスト項目を選択する方法。私は、リスト内の複数の項目を選択し、これらの値を配列に格納したいと考えています。リスト項目の色を選択または選択解除して変更し、選択したすべての値を配列に保存したい
Async task to show sizelist
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if (dialog != null) {
dialog.dismiss();
dialog = null;
}
if (flag == 1) {
sizeAdapter = new SizeAdapter(Product.this, arraysize, "fonts/GeosansLight.ttf");
list_size.setAdapter(sizeAdapter);
list_size.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
クラスにおける選択された項目の色HomeGS homeGS = arraysize.get(位置)を変更するためのコードと
if (homeGS.getSelected()) {
homeGS.setSizeProduct(homeGS.getSizeProduct());
homeGS.setSelected(false);
} else {
homeGS.setSizeProduct(homeGS.getSizeProduct());
homeGS.setSelected(true);
}
arraysize.set(position, homeGS);
sizeAdapter.notifyDataSetChanged();
size = arraysize.get(position).getSizeProduct();
}
});
} else if (flag == 0) {
}
}
}
これは、選択したアイテムの背景とテキストの色を変更するための私のサイズアダプタコードです。
if (oldData.get(position).getSelected()){
holder.txt_name.setText(oldData.get(position).getSizeProduct());
holder.txt_name.setBackgroundColor(Color.parseColor("#000000"));
holder.txt_name.setTextColor(Color.parseColor("#ffffff"));
}else {
holder.txt_name.setText(oldData.get(position).getSizeProduct());
holder.txt_name.setBackgroundResource(R.drawable.btn_border);
holder.txt_name.setTextColor(Color.parseColor("#000000"));
}
return convertView;
}
でも解決できない場合は、このリンクをクリックしてください。http://www.mysamplecode.com/2012/07/android-listview-checkbox-example.html – Anmol