Java 暂时禁用操作侦听器

Java 暂时禁用操作侦听器,java,android,android-studio,Java,Android,Android Studio,我是Android Studio的新手。我有个问题。 我正在申请火柴卡。 比赛失败后,卡片在0.5秒后翻转。但这一次,你仍然可以检查其他卡。我想禁用它。我想把按钮扩展到一个类。我正在发布这两个脚本。谢谢你的帮助 这是我的卡片课 public class kart extends Button { boolean acikMi = false; boolean cevrilebilir = true; int arkaPlanID; int onPlanID=0;

我是Android Studio的新手。我有个问题。 我正在申请火柴卡。 比赛失败后,卡片在0.5秒后翻转。但这一次,你仍然可以检查其他卡。我想禁用它。我想把按钮扩展到一个类。我正在发布这两个脚本。谢谢你的帮助

这是我的卡片课

public class kart extends Button {
    boolean acikMi = false;
    boolean cevrilebilir = true;
    int arkaPlanID;
    int onPlanID=0;
    Drawable on;
    Drawable d;

    public kart(Context context, int id) {
        super(context);
        setId(id);
        arkaPlanID = R.drawable.arka1;
        if(id%8==1)
            onPlanID =  R.drawable.c1;
        if(id%8==2)
            onPlanID =  R.drawable.c2;
        if(id%8==3)
            onPlanID =  R.drawable.c3;
        if(id%8==4)
            onPlanID =  R.drawable.c4;
        if(id%8==5)
            onPlanID =  R.drawable.c5;
        if(id%8==6)
            onPlanID =  R.drawable.c6;
        if(id%8==7)
            onPlanID =  R.drawable.c7;
        if(id%8==0)
            onPlanID =  R.drawable.c8;
        d = AppCompatDrawableManager.get().getDrawable(context,arkaPlanID);
        on = AppCompatDrawableManager.get().getDrawable(context, onPlanID);
        setBackground(d);


    }
    public void cevir(){
        if (cevrilebilir){
            if(!acikMi){
                setBackground(on);
                acikMi = true;
            }
            else{
                setBackground(d);
                acikMi=false;
            }

        }

    }
这是我的Java代码

    public class GameScreen extends AppCompatActivity {
    int sonKart = 0;
    int skor = 0;
    int hamle;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game_screen);
        Intent i = getIntent();
        final String s = i.getStringExtra("ad");
        TextView tv = (TextView) findViewById(R.id.textView);
        tv.setText(s);
        GridLayout gr = (GridLayout) findViewById(R.id.grid);
        kart kartlar[] = new kart[16];
        for (int j = 1; j <= 16; j++) {
            kartlar[j - 1] = new kart(this, j);
            kartlar[j-1].setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    hamle++;
                    final kart k = (kart)v;
                    k.cevir();
                    if (sonKart >0){
                        final kart k2 = (kart) findViewById(sonKart);
                        if (k2.onPlanID==k.onPlanID&&k2.getId()!=k.getId()){
                            k2.cevrilebilir=false;
                            k.cevrilebilir=false;
                            sonKart =0;
                            skor++;
                            TextView tv = (TextView) findViewById(R.id.textView3);
                            TextView tv2 = (TextView) findViewById(R.id.textView5);
                            tv.setText("Score: "+skor);
                            tv2.setText("Total moves: "+hamle);
                            if (skor==8){
                                Intent i = new Intent(GameScreen.this,scoreboard.class);
                                i.putExtra("ham",hamle);
                                i.putExtra("isim",s);
                                startActivity(i);
                                //oyun bitti

                            }



                        }
                        else{

                            Handler h = new Handler();
                            h.postDelayed(new Runnable() {
                                @Override
                                public void run() {
                                    k2.cevir();
                                    k.cevir();

                                }
                            },500);
                            sonKart =0;
                            TextView tv2 = (TextView) findViewById(R.id.textView5);
                            tv2.setText("Total moves: "+hamle);

                        }
                    }
                    else{
                        sonKart = k.getId();
                    }

                }
            });
        }

        for (int j=0;j<16;j++){
            int rg =(int) (Math.random()*16);
            kart k = kartlar[rg];
            kartlar[rg] = kartlar [j];
            kartlar[j] = k;
        }

        for (int j = 0; j < 16; j++)
            gr.addView(kartlar[j]);




    }
}
公共类游戏屏幕扩展AppCompative活动{
int-sonKart=0;
int-skor=0;
内哈姆勒;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u game\u屏幕);
Intent i=getIntent();
最终字符串s=i.getStringExtra(“ad”);
TextView tv=(TextView)findViewById(R.id.TextView);
tv.setText(s);
GridLayout gr=(GridLayout)findViewById(R.id.grid);
卡丁车[]=新卡丁车[16];
对于(int j=1;j 0){
最终卡丁车k2=(卡丁车)最终发现的卡丁车(sonKart);
if(k2.onPlanID==k.onPlanID&&k2.getId()!=k.getId()){
k2.cevrilebilir=假;
k、 cevrilebilir=假;
sonKart=0;
skor++;
TextView tv=(TextView)findViewById(R.id.textView3);
TextView tv2=(TextView)findViewById(R.id.textView5);
tv.setText(“分数:+skor”);
tv2.setText(“总动作:+hamle”);
如果(skor==8){
意图i=新意图(GameScreen.this,scoreboard.class);
i、 putExtra(“火腿”,哈姆勒);
i、 putExtra(“isim”,s);
星触觉(i);
//奥云·比蒂
}
}
否则{
Handler h=新的Handler();
h、 postDelayed(新的Runnable(){
@凌驾
公开募捐{
k2.cevir();
k、 塞韦();
}
},500);
sonKart=0;
TextView tv2=(TextView)findViewById(R.id.textView5);
tv2.setText(“总动作:+hamle”);
}
}
否则{
sonKart=k.getId();
}
}
});
}

对于(int j=0;j禁用单击按钮

      button.setEnabled(false);

这并不是问题的答案。若要评论或要求作者澄清,请在他们的帖子下方留下评论。-@leopal这是什么评论?对我来说,这看起来像是一个答案。是的,我知道。但我应该如何使用它。我从脚本生成了按钮。所以我不知道它们的ID。@HüseyinEraslan \\我想你可以放置标签对于每个按钮,然后按标记查找按钮