gpt4 book ai didi

android - 基于 .database 更改 ListView 项目颜色

转载 作者:行者123 更新时间:2023-11-30 03:11:30 25 4
gpt4 key购买 nike

这是我在 stackoverflow 中的第一篇文章,因为这是我没有找到明确答案的第一件事。

我有一个应用程序可以从您的 Android 设备读取联系人并将它们保存在 sqlite 数据库中。我想要做的是根据数据库中的 .variable 更改每个 ListView 行的背景颜色。

更具体地说,我想根据数据库中从 1 到 3 的值更改颜色,1 愿意为红色,2 愿意为绿色,3 愿意为蓝色。如果每一行都使用这样的自定义适配器,我知道如何更改颜色

public class SpecialAdapter extends ArrayAdapter<String> {
public SpecialAdapter(Context context, int resource, List<String> objects) {
super(context, resource, objects);
// TODO Auto-generated constructor stub
}



private int[] colors = new int[] { 0x30FF0000, 0x300000FF };

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);

int colorPos = position % colors.length;
view.setBackgroundColor(colors[colorPos]);
View row = convertView;


return view;
}

但我无法找到一种方法来从 ListView 中读取联系人姓名、从数据库中检索正确的值并根据从数据库中检索到的值更改行的颜色。

有线索吗?

最佳答案

这是根据条件改变单行颜色的例子..这段代码将在 getView 方法中

    String value =  getItem(position);
if (value.contentEquals("0")) {
convertView.setBackgroundColor(getContext().getResources()
.getColor(R.color.yellow));
} else if (value.contentEquals("1")) {
convertView.setBackgroundColor(getContext().getResources()
.getColor(R.color.white));
}else if (value.contentEquals("2")) {
convertView.setBackgroundColor(getContext().getResources()
.getColor(R.color.red));
}

使用 getItem 获取您放入适配器的对象取决于行位置..虽然您只在每一行中添加一个字符串,但我们定义一个字符串来获取特定行的值以检查和更改颜色取决于值

关于android - 基于 .database 更改 ListView 项目颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20872973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com