Как вернуть индекс ребенка в Layout? - PullRequest
24 голосов
/ 08 июля 2011

У меня следующая ситуация - HorizontalScrollView (HSV), внутри HSV - LinearLayout и внутри него количество кнопок - код здесь:

<HorizontalScrollView
        android:id="@+id/Footer"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1.5"
        android:background="@drawable/footer_bg"
        android:scrollbars="none"
        android:fadingEdge="none"
        >

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

            <Button
                android:id="@+id/today"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableTop="@drawable/today"
                android:drawablePadding="0sp"
                android:gravity="center_horizontal|bottom"
                android:textSize="8sp"
                android:text="@string/today"
                android:onClick="getRSSNews"
                />

            <Button
                android:id="@+id/life"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableTop="@drawable/life"
                android:drawablePadding="0sp"
                android:gravity="center_horizontal|bottom"
                android:textSize="8sp"
                android:text="@string/life"
                android:onClick="getRSSNews"
                />

            <Button
                android:id="@+id/corner"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableTop="@drawable/corner"
                android:drawablePadding="0sp"
                android:gravity="center_horizontal|bottom"
                android:textSize="8sp"
                android:text="@string/corner"
                android:onClick="getRSSNews"
                />

            <Button
                android:id="@+id/banks"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableTop="@drawable/banks"
                android:drawablePadding="0sp"
                android:gravity="center_horizontal|bottom"
                android:textSize="8sp"
                android:text="@string/banks"
                android:onClick="getRSSNews"
                />

            <Button
                android:id="@+id/it"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableTop="@drawable/it"
                android:drawablePadding="0sp"
                android:gravity="center_horizontal|bottom"
                android:textSize="8sp"
                android:text="@string/it"
                android:onClick="getRSSNews"
                />

            <Button
                android:id="@+id/fun"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableTop="@drawable/fun"
                android:drawablePadding="0sp"
                android:gravity="center_horizontal|bottom"
                android:textSize="8sp"
                android:text="@string/fun"
                android:onClick="getRSSNews"
                />

        </LinearLayout>

    </HorizontalScrollView>

Есть ли способ получить позицию (индекс)кнопки, по которой был нажат!

Ответы [ 2 ]

82 голосов
/ 08 июля 2011

indexOfChild возвращает позицию в группе указанного дочернего представления.

6 голосов
/ 08 июля 2011

Вы можете присвоить тег каждому виду и проверять тег при щелчке по этому виду. Это может помочь вам.

...