0

私はペアゲームを作成しましたが、それはすべて機能しますが、1セットの方法で作成されていることがわかるように、合計で24個のボタンがあるため、コードに4個のボタンを配置します。ゲームをランダム化する方法があるかどうかを知りたい.ボタン名をランダム化することが可能です pic1 pic2 pic3 pic4 または ID imageview1 2 3 4 たくさんの検索を行ったので、急ぎの質問ではありません。わからない場合はしばらくお待ちください。私のコードを使用して表示してください。コードのスニペットでは機能しません

public class MainActivity extends Activity {        
@Override
protected void onCreate(Bundle savedInstanceState) {        
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final ImageView pic1 = (ImageView ) findViewById(R.id.imageView1);      
final ImageView pic2 = (ImageView ) findViewById(R.id.imageView2);           
final ImageView pic3 = (ImageView ) findViewById(R.id.imageView3);
final ImageView pic4 = (ImageView ) findViewById(R.id.imageView4); 

      pic1.setOnClickListener(new View.OnClickListener() {              
    public void onClick(View v) {             
     pic1.setTag("beck");    
 if (pic1.getTag()==("beck"))  {pic1.setBackgroundResource(R.drawable.becks);}  

 if (pic2.getTag()==("beck")){                  
     pic1.setVisibility(View.INVISIBLE);
     pic2.setVisibility(View.INVISIBLE);}

 if (pic3.getTag()==("rob") || pic4.getTag()==("rob")) {
     pic1.setTag  ("boot");pic1.setBackgroundResource(R.drawable.jordboots);
     pic2.setTag  ("boot");pic2.setBackgroundResource(R.drawable.jordboots);
     pic3.setTag ("boot");pic3.setBackgroundResource(R.drawable.jordboots);
     pic4.setTag ("boot");pic4.setBackgroundResource(R.drawable.jordboots); }       
     }});   

        pic2.setOnClickListener(new View.OnClickListener() {                         
    public void onClick(View v) {  
        pic2.setTag ("beck");

    if (pic2.getTag()==("beck")){pic2.setBackgroundResource(R.drawable.becks);} 

    if (pic1.getTag()==("beck"))   {            
        pic1.setVisibility(View.INVISIBLE);
        pic2.setVisibility(View.INVISIBLE); }

    if (pic3.getTag()==("rob") || pic4.getTag()==("rob")) {
        pic1.setTag  ("boot");pic1.setBackgroundResource(R.drawable.jordboots);
        pic2.setTag ("boot");pic2.setBackgroundResource(R.drawable.jordboots);
        pic3.setTag ("boot");pic3.setBackgroundResource(R.drawable.jordboots);
        pic4.setTag ("boot");pic4.setBackgroundResource(R.drawable.jordboots); }
        }});        

        pic3.setOnClickListener(new View.OnClickListener() {                
    public void onClick(View v) {          
        pic3.setTag("rob"); 
    if (pic3.getTag()==("rob")){pic3.setBackgroundResource(R.drawable.robs);}

    if (pic4.getTag()==("rob")){    
        pic3.setVisibility(View.INVISIBLE);
        pic4.setVisibility(View.INVISIBLE); }

    if (pic1.getTag()==("beck") || pic2.getTag()==("beck")) {
        pic1.setTag ("boot");pic1.setBackgroundResource(R.drawable.jordboots);
        pic2.setTag ("boot");pic2.setBackgroundResource(R.drawable.jordboots);
        pic3.setTag ("boot");pic3.setBackgroundResource(R.drawable.jordboots);
        pic4.setTag ("boot");pic4.setBackgroundResource(R.drawable.jordboots); }
        }});      

        pic4.setOnClickListener(new View.OnClickListener() {                         
     public void onClick(View v) {  
        pic4.setTag ("rob");        

    if (pic4.getTag()==("rob")){pic4.setBackgroundResource(R.drawable.robs);}    

    if (pic3.getTag()==("rob")){        
         pic3.setVisibility(View.INVISIBLE);
         pic4.setVisibility(View.INVISIBLE); }    

    if (pic1.getTag()==("beck") || pic2.getTag()==("beck")) {
        pic1.setTag ("boot");pic1.setBackgroundResource(R.drawable.jordboots);
        pic2.setTag ("boot");pic2.setBackgroundResource(R.drawable.jordboots);
        pic3.setTag ("boot");pic3.setBackgroundResource(R.drawable.jordboots);
        pic4.setTag ("boot");pic4.setBackgroundResource(R.drawable.jordboots); }
        }});             
        }}  

これは私の質問の解決に近づいていますか?そうであれば、画像を画像ビューの背景に割り当てるにはどうすればよいですか?

ArrayList<Integer> objects = new ArrayList<Integer>();
array(R.drawable.becks);
array(R.drawable.jordboots);
array(R.drawable.becks);
array(R.drawable.robs);
array(R.drawable.robs);
Collections.shuffle(objects);
4

2 に答える 2