Android: переключение операторов и кнопок изображения - PullRequest
1 голос
/ 06 декабря 2011

Я пишу игру памяти для Android с 12 "кирпичиками", которые сделаны из ImageButtons. Я пытался использовать оператор If, чтобы добавить 1 к счетчику, если нажаты две кнопки, которые выглядят одинаково, не могу заставить его работать

Так что я решил, что вместо этого можно использовать оператор Switch, но я понятия не имею, как. Может ли кто-нибудь помочь или указать мне правильное направление по крайней мере

Редактировать Мой код пока только с двумя первыми кнопками Открытый класс MemrlyActivity расширяет Activity {

ImageButton img1,img2,img3,img4,img5,img6,img7,img8,img9,img10,img11,img12;
Button btnStart;
Button btnReset;
int bild1=0;
int bild2=0;
int bild3=0;
int bild4=0;
int bild5=0;
int bild6=0;
int bild7=0;
int bild8=0;
int bild9=0;
int bild10=0;
int bild11=0;
int bild12=0;
int test;
int result=0;

EditText count;

ArrayList<ImageButton>pic=new ArrayList<ImageButton>();


/** Called when the activity is first created. */

@SuppressWarnings("static-access")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    img1=(ImageButton) findViewById(R.id.imageButton1);
    img2=(ImageButton) findViewById(R.id.imageButton2);
    img3=(ImageButton) findViewById(R.id.imageButton3);
    img4=(ImageButton) findViewById(R.id.imageButton4);
    img5=(ImageButton) findViewById(R.id.imageButton5);
    img6=(ImageButton) findViewById(R.id.imageButton6);
    img7=(ImageButton) findViewById(R.id.imageButton7);
    img8=(ImageButton) findViewById(R.id.imageButton8);
    img9=(ImageButton) findViewById(R.id.imageButton9);
    img10=(ImageButton) findViewById(R.id.imageButton10);
    img11=(ImageButton) findViewById(R.id.imageButton11);
    img12=(ImageButton) findViewById(R.id.imageButton12);
    btnStart=(Button) findViewById(R.id.buttonStart);
    btnReset=(Button) findViewById(R.id.buttonReset);
    count=(EditText) findViewById(R.id.editText1);
    pic.add(img1);
    pic.add(img2);
    pic.add(img3);
    pic.add(img4);
    pic.add(img5);
    pic.add(img6);
    pic.add(img7);
    pic.add(img8);
    pic.add(img9);
    pic.add(img10);
    pic.add(img11);
    pic.add(img12);



    btnStart.setOnClickListener(new View.OnClickListener() {
        @Override

        public void onClick(View v) {

            Collections.shuffle(pic);
            pic.get(0).setImageDrawable(getResources().getDrawable(R.drawable.memgreen));
            pic.get(1).setImageDrawable(getResources().getDrawable(R.drawable.memgreen));
            pic.get(2).setImageDrawable(getResources().getDrawable(R.drawable.memred));
            pic.get(3).setImageDrawable(getResources().getDrawable(R.drawable.memred));
            pic.get(4).setImageDrawable(getResources().getDrawable(R.drawable.memblue));
            pic.get(5).setImageDrawable(getResources().getDrawable(R.drawable.memblue));
            pic.get(6).setImageDrawable(getResources().getDrawable(R.drawable.memwhite));
            pic.get(7).setImageDrawable(getResources().getDrawable(R.drawable.memwhite));
            pic.get(8).setImageDrawable(getResources().getDrawable(R.drawable.mempurple));
            pic.get(9).setImageDrawable(getResources().getDrawable(R.drawable.mempurple));
            pic.get(10).setImageDrawable(getResources().getDrawable(R.drawable.memyellow));
            pic.get(11).setImageDrawable(getResources().getDrawable(R.drawable.memyellow));

            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(5000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    runOnUiThread(new Runnable() {
                     @Override
                     public void run() {
                         for(int i=0;i<pic.size();i++){
                         pic.get(i).setImageDrawable(getResources().getDrawable(R.drawable.coin));
                         }
                         }
                    });
                }
            }).start();

     }
  });

img1.setOnClickListener (новый View.OnClickListener () {

        @Override
        public void onClick(View v) {

            if(pic.get(0)==img1){
                bild1=11;
            }else if(pic.get(1)==img1){
                bild1=11;
            }else if(pic.get(2)==img1){
                bild1=12;
            }else if(pic.get(3)==img1){
                bild1=12;
            }else if(pic.get(4)==img1){
                bild1=13;
            }else if(pic.get(5)==img1){
                bild1=13;
            }else if(pic.get(6)==img1){
                bild1=14;
            }else if(pic.get(7)==img1){
                bild1=14;
            }else if(pic.get(8)==img1){
                bild1=15;
            }else if(pic.get(9)==img1){
                bild1=15;
            }else if(pic.get(10)==img1){
                bild1=16;
            }else if(pic.get(11)==img1){
                bild1=16;
            }

        }
    });

img2.setOnClickListener (новый View.OnClickListener () {

    @Override
    public void onClick(View v) {

        if(pic.get(0)==img2){
            bild2=11;
        }else if(pic.get(1)==img2){
            bild2=11;
        }else if(pic.get(2)==img2){
            bild2=12;
        }else if(pic.get(3)==img2){
            bild2=12;
        }else if(pic.get(4)==img2){
            bild2=13;
        }else if(pic.get(5)==img2){
            bild2=13;
        }else if(pic.get(6)==img2){
            bild2=14;
        }else if(pic.get(7)==img2){
            bild2=14;
        }else if(pic.get(8)==img2){
            bild2=15;
        }else if(pic.get(9)==img2){
            bild2=15;
        }else if(pic.get(10)==img2){
            bild2=16;
        }else if(pic.get(11)==img2){
            bild2=16;
        }

    }

}); 

/ Fred

...