Android:将条件设置为listview的背景时出错

Android:将条件设置为listview的背景时出错,android,listview,background,Android,Listview,Background,我尝试在创建自定义listview时使用条件设置背景 以下是listview的适配器视图的示例代码: public lstViewAdapter(Activity a, ArrayList<HashMap<String, String>> d) { ...... ...... ...... } public View getView(int position, View convertView,

我尝试在创建自定义listview时使用条件设置背景

以下是listview的适配器视图的示例代码:

    public lstViewAdapter(Activity a, ArrayList<HashMap<String, String>> d)
    {
       ......
       ......
       ......
    }

    public View getView(int position, View convertView, ViewGroup parent) 

    {

         View vi = convertView;
         if(position % 2 != 0)
         {
        if(convertView==null)
        {
            vi = inflater.inflate(R.layout.list_row,null);

        }
         }
         else
         {
        if(convertView==null)
        {
            vi = inflater.inflate(R.layout.list_row1,null);
        }
         }
         ....
         ....
         ....
     }
公共lstViewAdapter(活动a,ArrayList d) { ...... ...... ...... } 公共视图getView(int位置、视图转换视图、视图组父视图) { 视图vi=转换视图; 如果(位置%2!=0) { if(convertView==null) { vi=充气机充气(右布局列表,空); } } 其他的 { if(convertView==null) { vi=充气机充气(右布局列表第1行,空); } } .... .... .... }

它显示正常,但当我上下滚动。。。它随机变化。。。
如果您有任何建议,我们将不胜感激……

希望您能在这里找到相关信息


在那里,您可以将图像替换为背景的xml视图。

我不知道这是否好,但我通过删除covertView的条件来修复它!=空值:

if(position % 2 != 0)
         {

            vi = inflater.inflate(R.layout.list_row,null);


         }
         else
         {

            vi = inflater.inflate(R.layout.list_row1,null);
      }

你这样做的方式在性能上并不好。但是如果你仍然想尝试,你应该一直膨胀布局,不要重复使用布局convertview@Henry是的,我刚刚测试了每一卷上下。。。职位的价值一直在变化…我不知道为什么它不是固定的???