Я был по всему Интернету, включая стекопоток, и, похоже, не могу получить ясный полный путь к
Я хочу создать ListView, который
1) имеет чередующиеся цвета (я могу сделать это с кодом ниже)
2) сохраняет оранжевое поведение по умолчанию для Android
для достижения # 1 У меня есть специальный адаптер, который
расширяет ArrayAdapter, а затем я переопределяю getView следующим образом:
public View getView(int position, View convertView, ViewGroup parent)
{
....
// tableLayoutId is id pointing to each view/row in my list
View tableLayoutView = view.findViewById(R.id.tableLayoutId);
if(tableLayoutView != null)
{
int colorPos = position % colors.length;
tableLayoutView.setBackgroundColor(colors[colorPos]);
}
}
моя переменная-член для цветов
private int[] colors = new int[] { 0x30ffffff, 0x30ff2020, 0x30808080 };
последовал за статьей «Android - применение цвета альтернативных строк в ListView с SimpleAdapter», найденной здесь
Теперь я застрял в стеке и вижу упоминание о том, как делать это, как это обычно встречается, и они предлагают добавить этот атрибут в
.
андроида: listSelector = "@ цвет / list_item"
где list_item.xml будет что-то вроде
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@drawable/transparent" />
.....
</selector>
Тогда мне нужно было бы добавить код для getView (), чтобы выяснить, в каком состоянии я нахожусь
и действовать соответственно.
Есть ли пример, как заставить это работать? Спасибо всем
Я с удовольствием выложу мой для всех, чтобы использовать его, если смогу заставить его работать. : - (