在 Java 中访问 GridLayout 中的按钮?
Accessing buttons in a GridLayout in Java?
我正在制作一个刽子手游戏,在主 Activity 中,有一个包含每个字母按钮的 GridLayout。
我想在 java 中设置一个 Button 数组以包含所有按钮并访问它们(以便在 java 方法中使用它们,正如我的老师指示我们的那样)。我的问题是,识别 Java 中的按钮的最简单方法是什么?如何将它们添加到所述按钮数组?
提前致谢。这是我的第一个问题。
编辑
这些字母不是英文字母,在这张图片中你可以看到GridLayout
的设计。
请注意,语言方向是 RTL 而不是 LTR,这意味着我使用了相反的列顺序。
那么,除了我的第一个问题,还有什么方法可以'reverse' 数字从 LTR 到 RTL 的顺序吗?
您不需要数组来标识按钮。使用数组仅标识按下的按钮。
如果您的按钮包含字母作为文本...:[=12=]
<Button
android:id="@+id/alef_button"
...
android:text="א" />
<Button
android:id="@+id/bet_button"
...
android:text="ב" />
然后你可以使用相同的方法作为所有按钮的侦听器:
public void onButtonClick(View view) {
Button pressedButton = (Button) view;
if("א".equals(pressedButton.getText())) {
putOnArray("alef");
} else if("ב".equals(pressedButton.getText())) {
putOnArray("bet");
} ...
}
我正在制作一个刽子手游戏,在主 Activity 中,有一个包含每个字母按钮的 GridLayout。 我想在 java 中设置一个 Button 数组以包含所有按钮并访问它们(以便在 java 方法中使用它们,正如我的老师指示我们的那样)。我的问题是,识别 Java 中的按钮的最简单方法是什么?如何将它们添加到所述按钮数组? 提前致谢。这是我的第一个问题。
编辑
这些字母不是英文字母,在这张图片中你可以看到GridLayout
的设计。
请注意,语言方向是 RTL 而不是 LTR,这意味着我使用了相反的列顺序。
那么,除了我的第一个问题,还有什么方法可以'reverse' 数字从 LTR 到 RTL 的顺序吗?
您不需要数组来标识按钮。使用数组仅标识按下的按钮。
如果您的按钮包含字母作为文本...:[=12=]
<Button
android:id="@+id/alef_button"
...
android:text="א" />
<Button
android:id="@+id/bet_button"
...
android:text="ב" />
然后你可以使用相同的方法作为所有按钮的侦听器:
public void onButtonClick(View view) {
Button pressedButton = (Button) view;
if("א".equals(pressedButton.getText())) {
putOnArray("alef");
} else if("ב".equals(pressedButton.getText())) {
putOnArray("bet");
} ...
}