首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据内容为列表视图中的每个项目设置背景色

如何根据内容为列表视图中的每个项目设置背景色
EN

Stack Overflow用户
提问于 2011-08-12 13:18:41
回答 2查看 2K关注 0票数 0

所以我一直在修改记事本教程代码:http://developer.android.com/resources/tutorials/notepad/notepad-ex1.html

基本上,我想做的是根据内容为ListView中的不同行创建特定的布局样式(即背景颜色)。例如,标题的文本是"1“,所以该行的背景将是红色的。或者,如果标题的文本是"2“,那么该行(或列表项)的背景将是绿色的。

我想要完成的是对数据库中的行进行汇总,并根据项目存储的类别(数值字段)对每行进行颜色编码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-12 13:35:22

它们使用SimpleCursorAdapter,您需要自己编写才能更改输出。在处理数据表示的适配器中,可以覆盖getView()方法。然后用来自数据库的数据填充每一行。根据数据,设置不同的背景色。

代码语言:javascript
复制
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    if (v ==  null) {
        LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = inflater.inflate(R.layout.my_layout, null);
    }
    Cursor.moveToPosition(position);
    ImageView img = (ImageView)v.findViewById(R.id.bg);

    if (Cursor.getString(Cursor.getColumnIndex("column")).equals("black")) {
        img.setImageBackground(Color.Black);
    }

    return v;
票数 0
EN

Stack Overflow用户

发布于 2011-08-12 15:20:24

华荣的答案是正确的。您可能还希望使用getItem方法来获取列表中特定位置的项,以确定它是什么类型的数据。然后在getView方法中更改该行的背景色

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7035866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档