定义单击按钮的java
我有9个按钮。
每一个都与red
、blue
或green
并置。
用户必须点击一个绿色方框,然后游戏会给他一分。
因此,为了检查框是否为绿色,我需要定义它,从中获取颜色,并将其与用户必须选择的颜色进行比较,但我有一个问题
问题在于定义单击的按钮以便使用它来getColor()
我可以做9个功能,第一个定义第一个按钮,第二个定义第二个按钮等
但是有没有更快的方法呢
我能做点像这样的事吗
Button button = (Button)findViewById(R.id.THIS_CURRENT_BUTTON);
# 1 楼答案
您可以在xml中使用
View.setTag()
或android:tag
。当设置按钮绿色时,您可以通过代码btn.setTag("green");
设置绿色标签。如果你想知道按钮是什么颜色,你可以通过下面的代码知道:# 2 楼答案
对。因为onClick侦听器会将单击的视图传递给它,所以您可以只创建一个onClick侦听器,并将其分配给所有按钮:
从这一行
Button b = (Button)v;
可以看到,被按下的视图被转换为一个按钮,给您留下一个按钮,就像Button button = (Button)findViewById(R.id.THIS_CURRENT_BUTTON);
一样创建侦听器后,需要将其分配给每个按钮:
# 3 楼答案
你不需要单独的9个函数。您可以使用一个功能来检查单击了哪个彩色按钮
XML布局:
将
android:onClick="btnPressed"
添加到所有按钮中,如下所示颜色XML:
在资源XML中创建颜色,如下所示:
MainActivity Java文件: 创建
btnPressed
方法并检查单击了哪个彩色按钮希望这会有帮助