Wątek przeniesiony 2020-12-26 19:00 z Java przez Ktos.

Zmiana widoku onItemClick

0

Mam pytanie.

Wkładam obiekt ListView i po kliknięciu i wykonaniu zdarzenia void onItemClick
chcę zamienić widoki na wyświetlonej liście.
Każda moja komórka składa się z dwóch widoków jeden ma visibility="gone" a drugi visibility="visible"
nie wiem jak uchwycić je i i dokonać zamiany zmiennych by doszło do przełączenia widoku w danej komórce.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/bgContent"
    android:baselineAligned="false"
    android:orientation="horizontal">

    <!-- Startuje jako widoczne VISIBLE -->
    <include layout="@layout/title_layout" />

    <!-- Startuje jako niewidoczne GONE-->
    <include layout="@layout/content_layout" />


</LinearLayout>
0

Pierwsze co powinieneś wiedzieć to który element na liście został kliknięty i potem powiadomić adapter o jego zmianie metodą notifyDataSetChanged()

Jeśli chciałbyś to zrobić poprawniej to powinieneś zamienić ListView na RecyclerView i zaimplementować DiffUtil.Callback. Wtedy adapter "sam" będzie wiedział, że element na liście się zmienił i odświeży tylko ten jeden item, a nie cały adapter.

1 użytkowników online, w tym zalogowanych: 0, gości: 1