问题描述
我正在制作一个刽子手游戏,在主活动中,有一个 GridLayout 包含每个字母的按钮。 我想在 java 中设置一个 Button 数组以包含所有按钮并访问它们(为了在 java 方法中使用它们,正如我的老师所指示的那样)。我的问题是,在 Java 中识别按钮的最简单方法是什么,以及如何将它们添加到上述 Button 数组中? 提前致谢。这是我在这里的第一个问题。
编辑
字母不是英文字母,在这张图片中你可以看到GridLayout
的设计。
请注意,语言方向是 RTL 而不是 LTR,这意味着我使用了相反的列顺序。
那么,除了我的第一个问题之外,有没有什么办法可以将数字的顺序从 LTR“反转”到 RTL?
解决方法
您不需要数组来标识按钮。使用数组仅标识被按下的按钮。
如果您的按钮包含文本形式的字母...:
<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");
} ...
}