В вашем методе addRow()
вы надуваете строку, но не добавляете ее ни в какой родительский макет, и, поскольку row
является локальной переменной, я думаю, вы не делаете это где-то еще,проблема копирования / вставки?
Опять же, ваш customrow.xml
может не работать, потому что у открывающего тега TableRow
отсутствует закрывающий >
, но это может быть проблема копирования / вставки.
Использование android:background="@drawable/bg"
с bg
в качестве селектора является распространенным шаблоном, и оно должно работать.Возможно, вы захотите упростить ваш селектор: вам не нужно указывать все состояния для каждого элемента и все комбинации.Он работает с «первым соответствием», поэтому он выполнит свою работу:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/custom" />
<item android:state_selected="true" android:drawable="@android:color/transparent" />
<item android:state_focused="true" android:drawable="@color/custom" />
<item android:drawable="@android:color/transparent" />
</selector>
Кроме того, обратите внимание, что выделенный и сфокусированный - это два разных состояния , причем фокусом является то, которое вы получаете, когдаперемещаться с помощью dpad.
Если это не помогло, укажите, что означает "не работает": что вы ожидаете?что происходит вместо этого?