在 Java 中访问 GridLayout 中的按钮?

问题描述

我正在制作一个刽子手游戏,在主活动中,有一个 GridLayout 包含每个字母的按钮。 我想在 java 中设置一个 Button 数组以包含所有按钮并访问它们(为了在 java 方法中使用它们,正如我的老师所指示的那样)。我的问题是,在 Java 中识别按钮的最简单方法是什么,以及如何将它们添加到上述 Button 数组中? 提前致谢。这是我在这里的第一个问题。

编辑

字母不是英文字母在这图片中你可以看到GridLayout的设计。

the design of the 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");
    } ...
}