Как щелкнуть через TextView внутри TableRow
Мой первый вопрос здесь! Мне нужна помощь с просмотром моих TextViews. Они вставляются в TableRow, который динамически добавляется в TableLayout. Они занимают почти все пространство (за исключением заполнения) таблиц TableRows, и из-за этого я не могу этого сделать, поэтому ClickListener TableRows регистрирует щелчок вместо TextViews. Только если я нажму на края строк (опять же, отступы), это сработает.
Вот XML для строки, которая должна быть вставлена в предопределенный TableLayout и содержит текстовые представления, по которым мне нужно перейти.
<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/cell_shape"
android:padding="5dp"
android:clickable="true"
>
<TextView
android:id="@+id/contactId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:clickable="false"
android:longClickable="false"
android:linksClickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
<TextView
android:id="@+id/contactEntryLastName"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/black"
android:textIsSelectable="true"
android:background="@android:color/transparent"
android:clickable="false"
android:longClickable="false"
android:linksClickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
<TextView
android:id="@+id/contactEntryFirstName"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/black"
android:textIsSelectable="true"
android:background="@android:color/transparent"
android:clickable="false"
android:longClickable="false"
android:linksClickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
</TableRow>
Я искал решения, и единственное, что я нашел, сказал, чтобы установить все эти "кликабельные"- и focusable-атрибуты в false, но ничего из этого не сработало.
Это действительно должно быть простое решение, верно!?
1 ответ
Попробуй это
<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/cell_shape"
android:padding="5dp"
android:descendantFocusability="blocksDescendants" >
<TextView
android:id="@+id/contactId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:clickable="false"
android:longClickable="false"
android:linksClickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
<TextView
android:id="@+id/contactEntryLastName"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/black"
android:textIsSelectable="true"
android:background="@android:color/transparent"
android:clickable="false"
android:longClickable="false"
android:linksClickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
<TextView
android:id="@+id/contactEntryFirstName"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/black"
android:textIsSelectable="true"
android:background="@android:color/transparent"
android:clickable="false"
android:longClickable="false"
android:linksClickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
</TableRow>