android - 在 Java 中访问 GridLayout 中的按钮?
问题描述
我正在制作一个刽子手游戏,在主 Activity 中,有一个 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");
} ...
}
推荐阅读
- python - 如何在 python pandas 中重塑数据框
- docker - Docker - 在执行容器时挂载卷
- apache-camel - 无法在 apache camel 中处理正文中的空值
- python - 使用python将cassandra sstable从gcloud复制到s3
- nginx - 通过 https 的 socket.io 问题,使用 nginx 作为代理
- java - 用美元符号替换字符串中的最后一个点
- gradle - 使用 Gradle 进行转码
- c++ - 当且仅当它不会导致重新定义错误时,如何定义新的函数/结构/类?
- reactjs - How to save typed values inside the initialValues of Formik data?
- kinetica - Kinetica 多头查找