你好我们正在制作简单的游戏,如果我点击右键可以取点。 所以有5个图像按钮和1个textview。 textview将生成随机数1-5。这5个图像按钮有5个不同的ID,所以我的观点是,如果textview生成1个数字,我怎么能用if语句检查它的右键。
if ( textview(current generated number ) == imagebutton(id) ) {
counter++)
你可以帮助我这样的事吗?示例代码会很好:D
答案 0 :(得分:0)
设置按钮的标记值 来自xml set Tag属性
Tag = "1"
或
btn.setTag("1");
将按钮对应的值添加到其标签中,然后将其与标签值
进行比较在onClick方法中,您点击了按钮的ID
Button btn = (Button) findViewById(id);
string valu = btn.getTag();
现在将textView值与此标记值进行比较。
string txt = textView.getText();
if(txt.equals(valu))
{
// do what you want
}
答案 1 :(得分:0)
您可以将按钮资源ID存储为int数组。然后在常用的单击处理程序中,您可以测试单击的按钮是否与随机选择的按钮相同。这是一个简单的,最小的例子。它假设您在点击按钮之前设置并显示了随机数。
在课堂上,定义以下字段:
private int myButtons[] = null;
private int randomNumber = 0;
在onCreate()中,添加以下内容:
myButtons = new int[] {R.id.btn0, R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4};
添加方法:
public btnClick(View v) {
if (findViewById(myButtons[randomNumber]) == v)
Log.i(TAG, "Correct!");
else
Log.i(TAG, "Incorrect!");
}
然后在您的布局XML中,使用您的点击处理程序定义按钮:
<Button
android:id="@+id/btn0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="@string/btn0" />
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="@string/btn1" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="@string/btn2" />
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="@string/btn3" />
<Button
android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="@string/btn4" />