Изменить цвет фона элемента ListView, но оставить стиль селектора по умолчанию?

Я пытаюсь программно установить собственный цвет фона в моем адаптере ListView, но я хочу сохранить стиль селектора списка по умолчанию из Android.

Я устанавливаю цвет фона с помощьюSetBacgroundResource» метод моего представления товара.

Я использую Android 4.0, и я попробовал пример из этого блогаhttp://daniel-codes.blogspot.co.nz/2010/07/how-to-change-listview-rows-background.html но с использованием этого примера селектор показывает, однако невыбранный цвет фона не отображается.

Как я могу добиться этого в Android 4.0 ICS?

РЕДАКТИРОВАТЬ: Вот ресурс, который я использую для фона элемента списка.


    
    
    
    

Код, который я использую для установки этого фона, находится внутри метода GetView моего адаптера. Код:

convertView.setBackgroundResrouce(R.drawable.list_item_dark);
 CommonsWare04 нояб. 2012 г., 12:44
Пожалуйста, опубликуйте ресурс, который вы используете.
 startupsmith04 нояб. 2012 г., 23:11
Я разместил ресурс на свой вопрос.

Ответы на вопрос(4)

Попробуй это :

в макете строки установите свойства фона для

android:background="@drawable/your_selector"

и вашlistView задавать

android:listSelector="@drawable/your_selector"
 Rohan Kandwal29 сент. 2014 г., 09:06
Отлично работает для меня У меня есть собственный ListView с элементом 's фон белый, и при печати я хотел поменять его на синий.
 startupsmith08 нояб. 2012 г., 03:06
Проблема в том, что я вращаю фоновые рисунки в коде, чтобы фоновый рисунок не был одинаковым для всех строк, поэтому установка его на уровне списка не будет работать ...

Попробуйте написать свой собственный адаптер и установить rowView BackgroundColor, как это (если позиция нечетное число ЧЕРНЫЙ, даже красный). также вы можете отправить список цветов на адаптер и установить разные цвета для каждого rowView

public View getView(int position, View convertView, ViewGroup parent) {
            View rowView = convertView;
        enter code here

            if(rowView == null)
            {
                if((position % 2)==1){ 
                rowView.setBackgroundColor(Color.BLACK)
                    //colorList :setBackgroundColor( colorList.get(position) )
                }
                 else{
                    rowView.setBackgroundColor(Color.RED)
                }
             }           
            return rowView;
        }
 Dhruv Raval20 янв. 2015 г., 12:51
хорошо, я понимаю мою проблему ... !!!
 KEYSAN20 янв. 2015 г., 11:49
не могли бы вы поделиться своим кодом?
 Dhruv Raval20 янв. 2015 г., 07:47
этот код может 'Успех, когда я применяю некоторую разметку в конвертируемом виде, поэтому, пожалуйста, предложите мне, как добиться успеха в этом условии .... !!!

Попробуйте применить этот стиль к вашему ListView:


    fill_parent
    fill_parent
    #FFFFFF
    1dp
    #CCCCCC
    #FFFFFF
    #00000000

И в вашем XML-макете это:


Вы пытались установить свойствоандроид: drawSelectorOnTop вашейListView к правде?

Вы сможете установить фон для вашего элемента и видеть элемент, выделенный при нажатии.

 startupsmith13 нояб. 2012 г., 02:11
Привет Да, я уже пробовал это ... Это работает, но это не такт точно эффект, который я после. Я не• чтобы подсветка отображалась над всем текстом и изображениями в элементе списка.

Ваш ответ на вопрос