android 反应时单击 2 按钮

标签: button Android
发布时间: 2014/3/3 19:48:48
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要生成的简单记忆游戏。我用 16 按钮。我知道如何作出反应时特定按钮是 cliked,但如何对每个按钮单击作出反应,并检查如果匹配按钮被选中(不 neccesrly 现在)?

解决方法 1:

在 xml 中,使用相同的名称为您 onClick 为每个Button

<Button
   android:id="@+id/btn1"
   ...
   android:onClick="btnClick"/>
<Button
   android:id="@+id/btn2"
   ...
   android:onClick="btnClick"/>

并在您的 java 代码确保该函数是公共的、 具有相同的名称,您在您的 xml 中定义 onClick 属性上面,而我们却需要 View 作为其唯一的参数。ViewButton 单击所以你可以得到其 idswitch 上,使用 if/else 或但是您想要处理的

public void btnClick(View v)
{
    switch(v.getId())    // v is the btn that was clicked so this will give you its id
    {
        case (R.id.btn1):   btn1 was clicked
         ... do stuff

要回答你的第一个问题,您可以使用标志标记为较早前建议或计数器,如果计数器说 = 2,然后单击不会不管你需要。如果不是,则您将存储的那是什么值 Button 表示要比较的第二次单击

其他方法就是要将它们设置 for loop ,我假设你知道如何设置 loop 所以我会记住这个短

for (int i=0; i<buttons.size(); i++)
{
     ...
     button[i].setOnClickListener(ActivityName.this);
}

@Override
public void onClick(View v)
{
    int id = v.getId();
}

请确保您实现OnClickListener()

官方微信
官方QQ群
31647020