У меня есть список.
Когда вы нажимаете на элемент, он становится выделенным и должен быть развернут по вертикали для отображения дополнительных данных.
Я пытаюсь сделать это, добавив в макет каждого элемента представление «Подробности», которое скрыто по умолчанию и имеет значение VISIBLE onClick.
Единственная проблема в том, что высота элемента не изменилась.
Если я попытаюсь это так:
holder.line_view
.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, dip(
convertView.getContext(), 30)));
тогда я получаю неизвестное исключение.
Просто
holder.details_pane.setVisibility(View.VISIBLE);
не работает, размер не изменяется.
Пожалуйста, сообщите.
Компоновка:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/line_view">
<TextView
android:id="@+id/desc"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Description" />
<TextView
android:text="LALALA"
android:id="@+id/detailed_desc"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
В адаптере я пытаюсь:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
switch (getItemViewType(position)) {
case TYPE_ITEM_EXPANDED:
holder.details_pane.setVisibility(View.VISIBLE);
...
case TYPE_ITEM_NORMAL:
holder.details_pane.setVisibility(View.GONE);
}