如何在OnItemClick事件的ListView的所有元素上设置背景颜色?
我有一个ListView和posibility来选择一个元素(单选)。
如何在设置ListView的所有元素时设置背景颜色(可能至少可以看到这些元素)?
adapter = new ArrayAdapter(activity, simple_list_item_single_choice, orderlines) { @Override public View getView(final int position, View convertView, final ViewGroup parent) { ... convertView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { convertView.setBackgroundColor(BLACK); // so here currently selected element is set to BLACK, but also other elements have to be set to WHITE } }); return convertView; } }
谢谢
我没有太多的代码给你,因为我现在不在我的工作站,但是我认为你可以按照你的建议,通过你的onItemClick设置所选项目的背景为黑色。 凉。
当选择一个特定的视图时,为了改变其他(未选定的)视图的颜色,我猜你可以调用你的Adapter的getCount()并遍历该列表,调用你的ListView的getChildAt(i)。 这将返回一个视图,您可以调用setBackgroundColor(Color)。 希望这可以帮助
你可以做
parent.setBackgroundColor(BLACK);
this.notifyDataSetChanged();
设置你的列表视图背景。
我会用一个Drawable选择器。
检查这个链接是一个很好的例子:http://www.charlesharley.com/2012/programming/custom-drawable-states-in-android/
基本上你可以创建一个XML drawable,其中包含一个映射(系统自动使用),以便在某些点击事件发生时显示的内容。
您可以将背景可绘制分配给任何视图,因此您可以在XML中为适配器或Java代码执行此操作。 你的情况可能是这样的:
convertView.setBackgroundDrawable(R.drawable.MySelector);
链接地址: http://www.djcxy.com/p/50601.html
上一篇: how to set background color for all elements of ListView on OnItemClick event?
下一篇: Gridview scrolling issue using Android Volley Network library