首页 > 解决方案 > 在 Java 中访问 GridLayout 中的按钮?

问题描述

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

编辑

这些字母不是英文字母,在这张图片中你可以看到GridLayout.

GridLayout 的设计

请注意,语言方向是 RTL 而不是 LTR,这意味着我使用了相反的列顺序。

那么,除了我的第一个问题之外,有没有办法将数字顺序从 LTR“反转”到 RTL?

标签: androidarraysandroid-gridlayout

解决方案


您不需要数组来识别按钮。使用一个数组来识别被按下的按钮。

如果您的按钮包含作为文本的字母...:

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

推荐阅读