0

嘿,我被一件事困住了,我想要这样的视图:

在此处输入图像描述

在列表视图中,我可以选择多个项目,无论我可以选择哪个项目,我都可以更改背景颜色并将该项目添加到数组列表中,以便我可以进一步使用它。

有人请帮助我吗?

编辑:

我像这样使用它:

     ArrayAdapter<String> part_list_adapter=new ArrayAdapter<String>(AssetSearch.this,  R.layout.part_list,R.id.label,part_array_list);

    PartNumber_List.setAdapter(part_list_adapter);


       PartNumber_List.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position,
            long id) {
        String item = (String)PartNumber_List.getItemAtPosition(position);

        Log.i("Item", item);
         v.setBackgroundColor(R.color.result_image_border);

    }
});

在日志中,它向我显示了仅单击的项目..但更改了 2 个项目的颜色...

4

2 回答 2

1

试试这样。。

  @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    // Get the item that was clicked
   String item = (String) getListAdapter().getItem(position);
    boolean blnFound = yourarrayList.contains(item);
 if(blnFound=true){
     yourarraylist.remove(item);
       v.setBackgroundColor(R.color.somecolourtoindicate notselected);

    }
   else{
          yourarraylist.add(item);
          v.setBackgroundColor(R.color.somecolourtoindicate itemselected);
    }
    yourarraylist.add((String) getListAdapter().getItem(position);)
}
于 2012-04-10T09:38:10.010 回答
1

您将为列表视图单元格的 View v 设置背景,实际上列表视图适配器在您滚动视图时重用单元格视图,因为颜色反映在其他一些行单元格中。

唯一的选择是您需要将一个图像视图添加到视图持有者并尝试更改视图持有者中图像视图的背景,不要更改适配器视图颜色。

于 2012-04-10T13:48:05.867 回答