Android在textview和imagebutton上使用if语句

时间:2014-03-21 03:09:04

标签: android if-statement textview imagebutton

你好我们正在制作简单的游戏,如果我点击右键可以取点。 所以有5个图像按钮和1个textview。 textview将生成随机数1-5。这5个图像按钮有5个不同的ID,所以我的观点是,如果textview生成1个数字,我怎么能用if语句检查它的右键。

if ( textview(current generated number ) == imagebutton(id) ) {
 counter++)
你可以帮助我这样的事吗?示例代码会很好:D

2 个答案:

答案 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" />