Android ListView上的背景颜色错误膨胀

Android ListView上的背景颜色错误膨胀,android,listview,listadapter,Android,Listview,Listadapter,因此,我有一个使用自定义适配器的ListView。我希望项目的背景色是红色或绿色,这取决于我使用getDBValue()从数据库中获取的值(这是有效的) 问题是,当活动第一次打开时,listview膨胀,所有listview项都有相同(不正确)的绿色背景色。当我开始滚动时,背景设置正确 当listview膨胀时,如何获得正确的背景颜色?我的程序在哪里“出错” 我已经对它进行了调试,dbValue正在返回正确的值 这是我的代码: public View getView(int position,

因此,我有一个使用自定义适配器的
ListView
。我希望项目的背景色是红色或绿色,这取决于我使用
getDBValue()从数据库中获取的值(这是有效的)

问题是,当活动第一次打开时,listview膨胀,所有listview项都有相同(不正确)的绿色背景色。当我开始滚动时,背景设置正确

当listview膨胀时,如何获得正确的背景颜色?我的程序在哪里“出错”

我已经对它进行了调试,
dbValue
正在返回正确的值

这是我的代码:

public View getView(int position, View convertView, ViewGroup parent) {
    return createViewFromResource(position, convertView, parent, mResource);
}

private View createViewFromResource(int position, View convertView,
        ViewGroup parent, int resource) {
    View v;

    if (convertView == null) {
        // first time views are created
        v = mInflater.inflate(resource, parent, false);
    } else {
        v = convertView;
    }

    String dbvalue = getDBValue();

    if(!dbvalue.equals("me")){
            v.setBackgroundColor(Color.argb(230, 255, 0x00, 0x00));
    }else{
            v.setBackgroundColor(Color.argb(230, 0x00, 255, 0x00));
    }

    setViewText((TextView) v, text);

    return v;
}

我在我的应用程序中做了这件事

请对此进行提款,并在以下情况下申请:, 这里我分享了设置drawable的方法,检查一下

请在
createViewFromResource
中调用此方法,这样就可以了

@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
private void setdrwable(Drawable drawable,View view)
{
    if(Build.VERSION.SDK_INT>=16)
    {
        view.setBackground(drawable);
    }
    else
    {
        view.setBackgroundDrawable(drawable);
    }
}

绿色是“其他”状态?如果是,可能dbvalue没有返回正确的值(在第一次构建视图时),这是我的想法,但在调试时,该值是正确的。