Как выделить строку в таблице?

Я создал динамическое текстовое представление в строке таблицы в таблице.

Я хочу выделить текущую строку, пока я нажимаю строку в макете таблицы.

Как это можно сделать?

Ответ 1

эти две строки должны работать нормально.

row.setFocussable("true");
row.setFocussableInTouchMode("true");

Ответ 2

Следующие параметры компоновки работали для меня, чтобы сделать строку таблицы нажатой и реагировать визуально как кнопка:

    <TableRow style="@style/PlanAttribute"  xmlns:android="http://schemas.android.com/apk/res/android"
         android:focusable="true" 
         android:focusableInTouchMode="true" 
         android:onClick="onRowSelected" 
         android:clickable="true">
     ...

Стиль PlanAttribute:

<style name="PlanAttribute">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:background">@drawable/divider_drawable</item>
</style>

divider_drawable.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true">
        <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
                    android:src="@drawable/divider_down"
                    android:gravity="fill"/>        
    </item>

    <item android:state_focused="true">
        <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
                    android:src="@drawable/divider_selected"
                    android:gravity="fill"/>        
    </item>

    <item
        android:state_focused="false"
        android:state_pressed="false">
        <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
                    android:src="@drawable/divider"
                    android:gravity="fill"/>        
    </item>

</selector>