Видимость меняется "сама по себе" - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть ListView с Adapter, который расширяет BaseAdapter.Внутри

public View getView(final int position, View view, ViewGroup parent) {...}

я прикрепляю clickListener к view следующим образом:

view.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        final LinearLayout llMatchInfo = v.findViewById(R.id.matchInfo);
        if (llMatchInfo == null) return;
        llMatchInfo.setVisibility(llMatchInfo.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
    }
});

Тогда у меня есть один пользователь, который жалуется, что когда он щелкает по элементу llMatchInfoвидимый на долю секунды, а затем снова исчезает.

Это единственное место, в котором вид matchInfo изменил видимость.

Может кто-нибудь помочь мне выяснить, почему это происходит?

Заранее спасибо

Вот внешний XML для каждого элемента в моем ListView:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:paddingEnd="5dp">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="10dp"
        android:layout_height="fill_parent"
        android:id="@+id/live_indicator">
    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <LinearLayout
            android:id="@+id/match_data"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            ...

        </LinearLayout>

        <include
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            layout="@layout/match_info"
            android:id="@+id/matchInfo" />

    </LinearLayout>

</LinearLayout>

И внутренний XML для фактического matchInfo (часть, на которой я хочу переключить видимость):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:visibility="gone">

    <LinearLayout
        android:id="@+id/team_logos"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="horizontal">

        <ImageView
        ... />

        <ImageView
        ... />
    </LinearLayout>

    <TextView
        ... />

    <TextView
        ... />

    <TextView
        ... />

    <LinearLayout
        android:id="@+id/tv_channels"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="horizontal"
        android:visibility="visible">

        <ImageView
        ... />

        <ImageView
        ... />
    </LinearLayout>

</LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...