Android - ListView with 2 different Colors

后端 未结 5 945
情深已故
情深已故 2020-12-19 09:10

I have got a ListView and I want to change the Backgroundcolor of it. It should go like this. 1.Item = grey; 2. Item; white; 3. Item = grey; 4. Item = white etc. So it shoul

相关标签:
5条回答
  • I believe you can do this based on the position

            if (position == 0)
            {
                view.SetBackgroundColor(Android.Graphics.Color.gray);  
            }
            else if (position == 1)
            {
                view.SetBackgroundColor(Android.Graphics.Color.white);
            }
    

    and so on depending on how many positions you have.

    0 讨论(0)
  • 2020-12-19 09:53

    This is another way to change the background using selector switcher. Using this method will preserve the hover and focus colors of the selector.

    public View getView(int position, View convertView, ViewGroup parent) {
    
        /* remainder is unchanged */
    
       convertView.setBackgroundResource(position % 2 == 0 ? R.drawable.list_selector_first : R.drawable.list_selector_second);
        return convertView;
    }
    
    0 讨论(0)
  • 2020-12-19 09:56

    You can do this easily by setting the background inside the getView function of your custom adapter.

    Try this code:

        if(position % 2 == 0)
                convertView.setBackgroundColor(Color.GREY);
        else
                convertView.setBackgroundColor(Color.WHITE);
    
    0 讨论(0)
  • 2020-12-19 09:59

    Don't use that for loop to set the background color after the fact. Do it in your getView method of your adapter. Try this:

    public View getView(int position, View convertView, ViewGroup parent) {
    
        /* remainder is unchanged */
    
        convertView.setBackgroundColor(position % 2 == 0 ? Color.WHITE : Color.GREY);
        return convertView;
    }
    
    0 讨论(0)
  • 2020-12-19 10:00

    You can return different views from getView based on the passed in item position.

    0 讨论(0)
提交回复
热议问题