【发布时间】:2018-02-04 17:06:23
【问题描述】:
<TableRow
android:id="@+id/Row3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<TextView
android:id="@+id/cell31"
android:layout_height="fill_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center"
android:textSize="50sp"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceLarge"
android:background="@drawable/back"
android:onClick="cellClick"
android:clickable="true"/>
<TextView
android:id="@+id/cell32"
android:layout_height="fill_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center"
android:textSize="50sp"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceLarge"
android:background="@drawable/back"
android:onClick="cellClick"
android:clickable="true"/>
.... this is 5x5 row column table. with 25 cells in it.
我的 .xml 文件如下所示。我在 LinearLayout 中有一堆行,其中包含 TableLayouts,其中包含 TextViews 作为单元格。我正在和他们一起做一个基本的游戏。 我正在尝试将 .xml 中的每个单元格分配给 .java 文件中的 TextView 数组。但我不知道怎么做。我需要根据我制作的一些算法更改每个单元格的颜色,所以我想访问单元格。
private TextView colorBoard[][];
this is my .java array.
我可以检查它们是否被点击
public void cellClick(View v) {
TextView cell = (TextView) findViewById(v.getId());
switch (cell.getId()) {
case R.id.cell11:
xloc = 0;
break;
case R.id.cell12:
xloc = 1;
break ;
...rest of cells
但我只能指定当前单击的单元格。在我的游戏中,单元格的颜色变化不同。不是你刚刚点击的那个。假设您点击 1x3 和 4x4 可能会改变颜色。
我是 android 新手,这是我的第一个项目,如果我遗漏了一些基本的东西,非常抱歉。
【问题讨论】: