如何在水平列表视图中选择多个列表项。我想在列表中选择多个项目并将这些值存储在一个数组中。
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(position);
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;
}
答案 0 :(得分:1)
为你的列表制作这样的bean类
public class YourBean {
private String itemData;
private boolean checked;
public String getitemData() {
return itemData;
}
public void setitemData(String itemData) {
this.itemData= itemData;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
}
然后像这样制作一个arrayList
ArrayList<YourBean> listArray = new ArrayList<>();
然后创建一个自定义适配器,使其成为列表的数据列表
然后如果选中复选框,则将检查的布尔值设置为true,如此
listArray.get(position).setChecked(true);
当你想让另一个arraylist为listArray运行for循环并检查boolean是否为true时,如果为true,则将其添加到你想要制作的另一个数组列表中。
答案 1 :(得分:0)
首先,您需要在beanClass的帮助下制作listView的arraylist,其中一个是item数据,另一个是boolean,显示是否选择了该字段。
在选择项目时,您需要将布尔值更改为true,这将帮助您处理所选项目。
每当您需要将所选项目数据添加到新的arraylist时,您可以为列表数组运行for循环,并可以检查布尔值。