Как добавить clicklistener в просмотр карты, если какой-то вид наложения просмотра карт - PullRequest
0 голосов
/ 30 апреля 2018

это мой xml, и я хочу добавить список щелчков для просмотра карт, но список щелчков для карт работает только в том случае, если я нажимаю на свободные места, оставшиеся между просмотром вложенных прокруток и просмотром карт. Но я хочу добавить прослушиватель для области просмотра карт, независимо от того, что щелкнуло прокрутку или просмотр текста, это не важно. Область просмотра карты на экране важна для меня. это обычно я соблазняю, я решаю эту проблему с добавлением одного и того же clicklistener для всех. возможно будет крутой путь.

<android.support.v7.widget.CardView
            android:id="@+id/cardView_a"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginEnd="4dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="4dp"
            android:layout_marginStart="8dp"
            android:minHeight="100dp"
            app:cardCornerRadius="10dp"
            app:layout_constraintEnd_toStartOf="@+id/cardView_b"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintHorizontal_weight="1"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_weight="1">

            <android.support.v7.widget.LinearLayoutCompat
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center">

                <android.support.v4.widget.NestedScrollView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                    <android.support.v7.widget.AppCompatTextView
                        android:id="@+id/textView_a"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_margin="5dp"
                        android:gravity="center"
                        android:minHeight="75dp"
                        android:maxHeight="200dp"
                        android:textAlignment="center"
                        app:autoSizeMaxTextSize="18sp"
                        app:autoSizeMinTextSize="14sp"
                        app:autoSizeStepGranularity="2sp"
                        app:autoSizeTextType="uniform" />

                </android.support.v4.widget.NestedScrollView>

            </android.support.v7.widget.LinearLayoutCompat>

        </android.support.v7.widget.CardView>

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Это может помочь.

CardView cardView = (CardView) findViewById(R.id.cardView_a);
cardView .setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.i("cardView","Card view clicked");

            }
        });`
0 голосов
/ 30 апреля 2018

Вы можете установить TouchListener для компонентов переднего плана, затем в их onTouchEvent() вы можете вернуть false, чтобы указать, что событие касания не используется. Таким образом, событие будет постепенно передаваться фоновым компонентам, которые будут ими управляться.

Я думаю, что для этой ситуации нет хорошего решения

...