GridLayout通过ID查找视图

时间:2019-07-03 18:15:45

标签: android android-studio grid-layout

我正在尝试在“相对布局”中的网格布局中计算子项,但是它不起作用。 当我单击重新启动按钮时,它表示不幸的是游戏已停止。 我正在尝试消失网格布局中的图像,然后重新从新开始重新玩游戏。

public void restartGame(View view)
    {
        GridLayout gridLayout=(GridLayout)findViewById(R.id.gridLayout);
        for(int i=0;i<gridLayout.getChildCount();i++)
        {
            ((ImageView)gridLayout.getChildAt(i)).setImageResource(0);
        }

    }

这是xml文件。 请忽略LinearLayout xml代码。工作正常。

<RelativeLayout
        android:id="@+id/relativeLayout3"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="1.0">

        <android.support.v7.widget.GridLayout
            android:id="@+id/gridLayout"
            android:layout_width="295dp"
            android:layout_height="260dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="48dp"
            android:background="@drawable/board"
            app:columnCount="3"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.505"
            app:layout_constraintStart_toStartOf="parent"
            app:rowCount="3">

            //Image views are here 

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

        <LinearLayout
            android:id="@+id/linearLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="@color/colorAccent"
            android:orientation="vertical"
            android:padding="15dp"
            android:visibility="invisible">

            <TextView
                android:id="@+id/winnerMessage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="who won?"
                android:textSize="24sp"
                android:textStyle="bold" />

            <Button
                android:id="@+id/restartButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="restartGame"
                android:text="Restart" />
        </LinearLayout>

    </RelativeLayout>

0 个答案:

没有答案