2017-03-29 8 views
-1

私はImageViewのセットを持っていますが、その中には、以下のようないくつかの時間が赤く点滅するものがあります。ClickイベントでImageView idsを比較するには?

enter image description here

enter image description here

は私が点滅色imageViewsをクリックしている時、それはのようにチックマークを変更し、私は非点滅imageViewsをクリックしている時、それはのように十字のマークを変更する、ことをやりたいです。

私の問題は、現在のコードは1つのイメージビューと他のすべてのイメージビューにクロスマークされているだけです。

どのように1つ以上のImageViewに目印を付けるか。

org_id = new int[]{R.id.img1_1, R.id.img1_2, R.id.img1_3, R.id.img1_4}; 

     all = new int[]{R.id.img1_1, R.id.img1_2, R.id.img1_3, R.id.img1_4}; 




     Random random = new Random(); 
     for(int j=0;j<2;j++) { 
      id = all[random.nextInt(all.length)]; 


      ObjectAnimator animator = ObjectAnimator.ofInt(findViewById(id), "backgroundResource", R.drawable.new_stateimg, R.drawable.org_state).setDuration(2000); 
      Toast.makeText(Game.this, "index" + findViewById(id), Toast.LENGTH_LONG).show(); 
      animator.setEvaluator(new ArgbEvaluator()); 
      animator.start(); 

     for (int i=0; i < org_id.length; ++i) { 
      final int btn = org_id[i]; 

      findViewById(btn).setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 

        if ((findViewById(id)).equals(findViewById(btn))) 
        { 
         findViewById(id).setBackgroundResource(R.drawable.correct); 

        } else { 
         Toast.makeText(Game.this, "wrong", Toast.LENGTH_SHORT).show(); 
         findViewById(btn).setBackgroundResource(R.drawable.cross); 

        } 

       } 
      }); 
     } 
     } 

答えて

0

はあなたのコードでそれを行う

if (id.getId() == btn.getId()) 

のようなあなたのIDの比較:

は、ここに私のコードです。

 public void onClick(View view) { 
      ImageView imgView = (ImageView)view; //edited 
      if(imgView.getDrawable().getConstantState().equals 
     (getResources().getDrawable(R.drawable.correct).getConstantState())) 
      imgView.setBackgroundResource(R.drawable.incorrect);//set here you incorrect image which you want. 

      else 
       imgView.setBackgroundResource(R.drawable.correct);//set here your correct image 

    } 
+0

getIdとは何ですか? –

+0

は、私のonClickイベントを参照してください。それがあなたを助けることを願っています。 –

+0

最初のgetDrawableにエラーがあります。 –

関連する問題