Android 列表视图其他颜色

Android 列表视图其他颜色,android,listview,colors,alternate,Android,Listview,Colors,Alternate,我需要用另一种颜色制作一个列表视图 代码: 但我不知道如何在我的适配器中使用它: SimpleAdapter adapter = new SimpleAdapter(this, propositions, android.R.layout.simple_list_item_2, new String[] {"Date", "Trajet"}, new int[] { android.R.id.text1, android.R.id.text2}); lvTrajets.

我需要用另一种颜色制作一个列表视图

代码:

但我不知道如何在我的适配器中使用它:

SimpleAdapter adapter = new SimpleAdapter(this, propositions, android.R.layout.simple_list_item_2,
    new String[] {"Date", "Trajet"},
    new int[] { android.R.id.text1, 
    android.R.id.text2});
lvTrajets.setAdapter(adapter);

有人能帮我做一下吗?

这是我的get视图。我更改一个图像背景,您只需更改逻辑中特定位置的父布局颜色
if(位置%2==0)
simple here。我只给你这个技巧,不完整的代码

@Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View v = convertView;

        if (v == null) {
            v = mInflater.inflate(R.layout.devicesnameshow_item, null);
        }


        ImageView imgIcon = (ImageView) v.findViewById(R.id.deviceimage);

        Resources res = v.getResources();
        String mDrawableName = data[position].umt;
        int resID = res.getIdentifier(mDrawableName , "drawable", context.getPackageName());
        Drawable drawable = res.getDrawable(resID);
        imgIcon.setImageDrawable(drawable);




          if(position %2==0)
        {
            imgIcon.setBackgroundColor(Color.parseColor(colorcounter_array[colorcounter]));// u can give any color i just take it from my array 
        } else {
            imgIcon.setBackgroundColor(Color.parseColor(colorcounter_array[colorcounter]));// u can give any color i just take it from my array 
        }




        }
         return v;
    }

覆盖适配器的
getView

SimpleAdapter adapter = new SimpleAdapter(this, propositions, android.R.layout.simple_list_item_2,
new String[] {"Date", "Trajet"},
new int[] { android.R.id.text1, 
android.R.id.text2})
    {
        @Override
        public View getView (int position, View convertView, ViewGroup parent)
        {
            View v = super.getView(position, convertView, parent);
             if(position %2==0)
             {
                  v.setBackgroundColor(Color.BLUE);
             }
             else
             {
                  v.setBackgroundColor(Color.WHITE);
             }

            return v;
        }


    };

要在
ListView
中显示可选颜色,请按以下方式实现
Adapter
getView()
方法

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

if(convertView==null){
//Initialize the convertView and all its view's
}
  if(position %2==0)
  {
      view.setBackgroundColor(Color.BLUE);
  }else{
      view.setBackgroundColor(Color.Red);
  }
  return view;
}
从您的活动中调用:
ListAdapteradapter=新的ListAdapter(this,fillMaps,R.layout.listmain,from,to);
ListAdapter类:
公共类ListAdapter扩展了SimpleAdapter{
公共ListAdapter(上下文上下文,列表>数据,int资源,字符串[]从,int[]到)
{
超级(上下文、数据、资源、从、到);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图)
{
视图=super.getView(位置、转换视图、父级);
如果(位置%2==1)
{
视图.setBackgroundResource(R.color.blue);
} 
否则{
视图.setBackgroundResource(R.color.lavendar);
}
返回视图;
}
}

只需为适配器重写getView您必须编写自己的适配器并重写getView这是一个很好的教程:它使我的应用程序crash@user3507621您可以查看类似的帖子,但没有背景设置NullPointerException第90行。它是v.setBackColor(Color.BLUE)@user3507621
v
为空。发布完整代码updated@user3507621如果你正确地遵循帖子,它应该会起作用,否则就发布更新后的代码
public View getView(int position, View convertView, ViewGroup parent) {

if(convertView==null){
//Initialize the convertView and all its view's
}
  if(position %2==0)
  {
      view.setBackgroundColor(Color.BLUE);
  }else{
      view.setBackgroundColor(Color.Red);
  }
  return view;
}
 call from your activity :
ListAdapteradapter = new ListAdapter(this, fillMaps, R.layout.listmain, from, to);

ListAdapter class:

public class ListAdapter  extends SimpleAdapter {

    public ListAdapter(Context context, List<? extends Map<String, ?>> data,int resource, String[] from, int[] to)
    {
        super(context, data, resource, from, to);

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) 
    {

     View view = super.getView(position, convertView, parent); 

        if (position % 2 == 1)
        {

             view.setBackgroundResource(R.color.blue); 


        } 
        else {
            view.setBackgroundResource(R.color.lavendar);
        }
        return view;  
        }



}