Android-以编程方式获取列表视图(项目)的背景颜色
Posted
技术标签:
【中文标题】Android-以编程方式获取列表视图(项目)的背景颜色【英文标题】:Android-Get Background color of listview(item) programmatically 【发布时间】:2016-05-20 18:33:14 【问题描述】:首先我为下面的列表视图项目创建背景颜色, 我有两个这样的自定义列表视图:
我设置颜色的自定义列表:
代码:
@Override
public View getView(final int position, View convertView, ViewGroup parent)
Holder holder = new Holder();
final View rowView;
rowView = inflater.inflate(R.layout.table_one, null);
holder.tv = (TextView) rowView.findViewById(R.id.textView1);
holder.tv.setText(result[position]);
rowView.setBackgroundColor(Color.WHITE);
rowView.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
if (position == 0)
rowView.setBackgroundColor(Color.BLUE);
MainActivity.counter = Color.BLUE;
else if (position == 1)
rowView.setBackgroundColor(Color.YELLOW);
MainActivity.counter = Color.YELLOW;
else if (position == 2)
rowView.setBackgroundColor(Color.GREEN);
MainActivity.counter = Color.GREEN;
else if (position == 3)
rowView.setBackgroundColor(Color.MAGENTA);
MainActivity.counter = Color.MAGENTA;
);
return rowView;
当用户点击列表视图时,它会变为上图指定的颜色,
单击按钮时,我需要获取列表中保存的列表视图的颜色。
我该怎么做,求帮助
在我的 MainActivity 我有按钮,
check = (Button) findViewById(R.id.check);
check.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Toast.makeText(getApplicationContext(), "Checked", Toast.LENGTH_SHORT).show();
);
【问题讨论】:
您想要单行的背景还是整个列表的背景? @amalBit 对于整个列表视图 使用 settag 和 gettag @amalBit 我需要整个列表视图,如果可能的话,你也可以告诉我单个列表项的值。 tnq Listview 只是一天结束时的另一个视图。 sp 你可以试试这个***.com/a/8089242/2219600 【参考方案1】:如果您想从 ListView 获取视图背景颜色
ListView listView = (ListView) findViewById(R.id.my_list);
获取后台尝试
Drawable listDrawableBackground = listView.getBackground();
如果背景是一种颜色,获取颜色,你可以试试
ColorDrawable listViewColor = (ColorDrawable) listView.getBackground();
要获得实际颜色,请使用
int colorId = listViewColor.getColor();
您可以将此 colorId 与现有颜色进行比较,如下所示:
if (colorID == R.color.blue)
Log("color is blue");
另一种方法是将标签添加到 ListView,标签将是颜色,比如说
tag = "#ccc",你可以使用
String colorCode = (String)listView.getTag();
现在您有了 colorCode,您可以在程序的任何地方重复使用它。
【讨论】:
我没有得到颜色使用这个你能告诉我使用按钮来获取整个列表行以上是关于Android-以编程方式获取列表视图(项目)的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式动态创建所有 Android ui 组件的列表?例如文本视图、图像视图等