android 开发 从数据库中取出数据投影到listview上 想根据数据库中的不同数据设置listview的背景颜色
rtlistview中不同item想显示不同的颜色而且根据从数据库中读出的东西直接显示不同颜色不知道把判断不同数据显示不同颜色的代码写在哪?一开始写在自己从写的getvi...
rt listview中不同item想显示不同的颜色 而且根据从数据库中读出的东西直接显示不同颜色 不知道把判断不同数据显示不同颜色的代码写在哪?一开始写在自己从写的getview中 但是不行 求帮助
展开
2个回答
展开全部
就是在adapter的getView里,你如果想改变这个一个item的背景,就设置getview(int position,View v,ViewGroup parent)里第二个参数的背景色就可以了,如果你想设置某个控件的,可以在根据id找到这个控件后设置给个例子
上面的省略,直接下面的getview
public View getview(int position,View v,ViewGroup parent)
{
if(v==null)
{
v=layoutInflater.inflate(R.layout.aaa,null)
}
TextView tv=(TextView)v.findViewById(R.id.tv);
if(position%2==0)
{
v.setBackgroundColor(Color.RED);
tv.setTextColor(Color.BLACK);
}else
{
v.setBackgroundColor(Color.GREEN);
tv.setTextColor(Color.WHITE);//控件字体颜色
}
return v;
}
上面的省略,直接下面的getview
public View getview(int position,View v,ViewGroup parent)
{
if(v==null)
{
v=layoutInflater.inflate(R.layout.aaa,null)
}
TextView tv=(TextView)v.findViewById(R.id.tv);
if(position%2==0)
{
v.setBackgroundColor(Color.RED);
tv.setTextColor(Color.BLACK);
}else
{
v.setBackgroundColor(Color.GREEN);
tv.setTextColor(Color.WHITE);//控件字体颜色
}
return v;
}
更多追问追答
追问
现在吧 有这么个问题 是顺序问题 我单步跟踪发现 如果我要是把东西写在getView中 从程序开始运行 当调用getview的时候 界面还没有东西 就是界面是黑的 就意味着我要的布局中的textView2是空的 而且我单步跟踪的结果textView2取出来的数据也确实是空的 由于我的数据都是要从数据库中读出来投影到listView的textView中的 所以也就没法根据数据内容来判断改成什么样的颜色了......
追答
取不到数据就检查传过来的数据啊。传到adapter里的数组是不是空,adapter里的几个需要return的是不是写错了,多打几个log
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询