2017-07-12 16 views
-2

同じアクティビティ(ただし別々)で「20個のランダムイメージ+各イメージ下4個のボタン」でアクティビティを作成します。 これを行うには、 "for loop"を使用しました。ユーザーがいずれかのボタンをクリックして、画像やアプリによって別のランダムボタンを作成するときに最初のループに戻る

さて、私はにしたいがループバックの先頭に取得します。

この問題を解決するために私を案内してください。

ありがとうございました。

An image View with 4 button


コード:

注:このコードは、ステートメントの線量の下に動作しないため、正常に動作しない線量:

if (clk==true) continue;

public class testActivity extends Activity { 
    int falseb; 
boolean clk=false; 
    String truename; 
    final Random rnd = new Random(); 
    // public String[] picture={"banana","black","camel","cherry"}; 

    String [] picture = new String [] {"camel1","cat1","monkey","dogs" }; 

      List<String> List = new ArrayList<String>(Arrays.asList(picture)); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_test); 
     final ImageView img = (ImageView) findViewById(R.id.imgRandom); 
     final Button b1 = (Button) findViewById(R.id.b1); 
     final Button b2 = (Button) findViewById(R.id.b2); 
     final Button b3 = (Button) findViewById(R.id.b3); 
     final Button b4 = (Button) findViewById(R.id.b4); 

     Typeface font = Typeface.createFromAsset(getAssets(), "koodk.ttf"); 
     b1.setTypeface(font); 
     b2.setTypeface(font); 
     b3.setTypeface(font); 
     b4.setTypeface(font); 
     for (int num=1;num<20;num++) { 
      //set Image and 4 options(as Button)by random 

      b1.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        clk=true; 

        if (((Button) view).getText()==truename){ 
         ((Button) view).setBackgroundResource(R.mipmap.true1); 
         List.remove(rp); 

        }else { 
         ((Button) view).setBackgroundResource(R.mipmap.fls1); 
         List.remove(rp);clk=true; 
        } 

       } 

      }); 


      b2.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) {clk=true; 
        if (((Button) view).getText()==truename){ 
         ((Button) view).setBackgroundResource(R.mipmap.true1); 
         List.remove(rp); 

        }else { 
         ((Button) view).setBackgroundResource(R.mipmap.fls1); 
         List.remove(rp); 
        } 
       } 

      }); 
     if (clk==true) continue; 
      b3.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) {clk=true; 
        if (((Button) view).getText()==truename){ 
         ((Button) view).setBackgroundResource(R.mipmap.true1); 
         List.remove(rp); 
        }else { 
         ((Button) view).setBackgroundResource(R.mipmap.fls1); 
         List.remove(rp); 
        } 
       } 

      }); 
      if (clk==true) continue; 
      b4.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) {clk=true; 
        if (((Button) view).getText()==truename){ 
         ((Button) view).setBackgroundResource(R.mipmap.true1); 
         List.remove(rp); 
        }else { 
         ((Button) view).setBackgroundResource(R.mipmap.fls1); 
         List.remove(rp); 
        } 
       } 

      }); 
      if (clk==true) continue; 

     } 



    } 



    protected final static int getResourceID 
      (final String resName, final String resType, final Context ctx) 
    { 
     final int ResourceID = 
       ctx.getResources().getIdentifier(resName, resType, 
         ctx.getApplicationInfo().packageName); 
     if (ResourceID == 0) 
     { 
      throw new IllegalArgumentException 
        (
          "No resource string found with name " + resName 
        ); 
     } 
     else 
     { 
      return ResourceID; 
     } 
    } 

} 
+0

を共有してコード – VIX

+0

[OK]を@VIX、私は**編集**ポストと私のcode.thanksを共有しています。 – Pluto65

答えて

3
Try to 

    for(int i = 0; i < 20; i++){ 
     if(response == false){ 
      //regenerate your list here 
      i = 0; 
     } 
    } 
+1

int numberToReach = 20; for(int i = 0; i Sigma

関連する問題