2013-03-18 27 views
0

在這段代碼中,我想將我的5個案例在開關條件* 中隨機播放或隨機化。點擊更正按鈕後,圖像出現全屏並返回到相同的情況。相反,我想從餘下的案件在隨機。*如何在Switch狀態下隨機分配病例?

public class MainActivity extends Activity{ 


ImageButton ib1,ib2,ib3,ib4,ib5,ib6,ib7,ib8,ib9,ib10,ib11,ib12,ib13,ib14,ib15; 
ImageView iv; 
Handler handler = new Handler(); 

int x; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    iv = (ImageView)findViewById(R.id.img); 

    ib1 = (ImageButton)findViewById(R.id.imgbt1); 
    ib2 = (ImageButton)findViewById(R.id.imgbt2); 
    ib3 = (ImageButton)findViewById(R.id.imgbt3); 
    ib4 = (ImageButton)findViewById(R.id.imgbt4); 
    ib5 = (ImageButton)findViewById(R.id.imgbt5); 
    ib6 = (ImageButton)findViewById(R.id.imgbt6); 
    ib7 = (ImageButton)findViewById(R.id.imgbt7); 
    ib8 = (ImageButton)findViewById(R.id.imgbt8); 
    ib9 = (ImageButton)findViewById(R.id.imgbt9); 
    ib10 = (ImageButton)findViewById(R.id.imgbt10); 
    ib11 = (ImageButton)findViewById(R.id.imgbt11); 
    ib12 = (ImageButton)findViewById(R.id.imgbt12); 
    ib13 = (ImageButton)findViewById(R.id.imgbt13); 
    ib14 = (ImageButton)findViewById(R.id.imgbt14); 
    ib15 = (ImageButton)findViewById(R.id.imgbt15); 




    Random rand = new Random(); 
    x = rand.nextInt(5); 

    switch (x) { 
    case 1: 

     Toast.makeText(getApplicationContext(), "Select red", Toast.LENGTH_SHORT).show(); 
     ib1.setVisibility(View.VISIBLE); 
     ib1.setBackgroundResource(R.drawable.carrot); 

     //ib1.setOnClickListener(myListener); 
     ib1.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       handler.postDelayed(new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         iv.setVisibility(View.GONE); 
         x++; 

        } 
       }, 2000); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundResource(R.drawable.carrot); 

      } 
     }); 

     ib2.setVisibility(View.VISIBLE); 
     ib2.setBackgroundResource(R.drawable.ic_launcher); 
     //ib2.setOnClickListener(myListener); 


     ib3.setVisibility(View.VISIBLE); 
     ib3.setBackgroundResource(R.drawable.ic_launcher); 
     //ib3.setOnClickListener(myListener); 


     break; 

    case 2: 
     ib4.setVisibility(View.VISIBLE); 
     ib4.setBackgroundResource(R.drawable.ic_launcher); 
     ib4.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       handler.postDelayed(new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         iv.setVisibility(View.GONE); 
         x++; 
        } 
       }, 2000); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundResource(R.drawable.ic_launcher); 
       //ib4.setOnClickListener(myListener); 


      } 
     }); 



     ib5.setVisibility(View.VISIBLE); 
     ib5.setBackgroundResource(R.drawable.ic_launcher); 
     //ib5.setOnClickListener(myListener); 


     ib6.setVisibility(View.VISIBLE); 
     ib6.setBackgroundResource(R.drawable.ic_launcher); 
     //ib6.setOnClickListener(myListener); 


     break; 


    case 3: 
     Toast.makeText(getApplicationContext(), "Select Violet", Toast.LENGTH_SHORT).show(); 

     ib7.setVisibility(View.VISIBLE); 
     ib7.setBackgroundResource(R.drawable.brinjal); 
     //ib7.setOnClickListener(myListener); 
     ib7.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       handler.postDelayed(new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         iv.setVisibility(View.GONE); 
         x++; 
        } 
       }, 2000); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundResource(R.drawable.brinjal); 
      } 
     }); 


     ib8.setVisibility(View.VISIBLE); 
     ib8.setBackgroundResource(R.drawable.ic_launcher); 
     //ib8.setOnClickListener(myListener); 


     ib9.setVisibility(View.VISIBLE); 
     ib9.setBackgroundResource(R.drawable.ic_launcher); 
     //ib9.setOnClickListener(myListener); 


     break; 

    case 4: 

     Toast.makeText(getApplicationContext(), "Select Any thing", Toast.LENGTH_SHORT).show(); 

     ib10.setVisibility(View.VISIBLE); 
     ib10.setBackgroundResource(R.drawable.ic_launcher); 
     //ib10.setOnClickListener(myListener); 
     ib10.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       handler.postDelayed(new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         iv.setVisibility(View.GONE); 
         x++; 
        } 
       }, 2000); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundResource(R.drawable.ic_launcher); 

      } 
     }); 


     ib11.setVisibility(View.VISIBLE); 
     ib11.setBackgroundResource(R.drawable.ic_launcher); 
     //ib11.setOnClickListener(myListener); 


     ib12.setVisibility(View.VISIBLE); 
     ib12.setBackgroundResource(R.drawable.ic_launcher); 
     //ib12.setOnClickListener(myListener); 


     break; 



    case 5: 
     Toast.makeText(getApplicationContext(), "Select Blue", Toast.LENGTH_SHORT).show(); 

     ib13.setVisibility(View.VISIBLE); 
     ib13.setBackgroundResource(R.drawable.blue_bird); 
     //ib13.setOnClickListener(myListener); 

     ib13.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       handler.postDelayed(new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         iv.setVisibility(View.GONE); 
         x++; 
        } 
       }, 2000); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundResource(R.drawable.blue_bird); 

      } 
     }); 





     ib14.setVisibility(View.VISIBLE); 
     ib14.setBackgroundResource(R.drawable.ic_launcher); 
     //ib14.setOnClickListener(myListener); 


     ib15.setVisibility(View.VISIBLE); 
     ib15.setBackgroundResource(R.drawable.ic_launcher); 
     //ib15.setOnClickListener(myListener); 


     break;   

    default: 
     break; 
    } 
    } 

謝謝。

+0

什麼不工作? – Warpzit 2013-03-18 09:15:17

+0

嗨,正如我剛纔提到的,在開關盒中,在開始活動時,出現了一個隨機的情況。點擊正確的按鈕後,我想隨機顯示剩餘的情況。但它只顯示前一個案例 – sai 2013-03-18 09:18:35

回答

2

因爲Button onclick將只執行我們在onClick中給出的代碼,所以您沒有在onClick按鈕中調用switch語句。在一個單獨的方法

呼叫開關語句,並調用它的onclick按鈕

對您的onClick這樣調用

int num= rand.nextInt(5); 
setRandomImages(num) 

寫您的switch語句中這樣

public void setRandomImages(int n) 
{ 
//your switch statement here 
} 
一個單獨的方法
+0

雅這就是我需要的,請提供更多細節PLZ。 – sai 2013-03-18 09:20:36

+0

「**通過單獨的方法調用切換語句,並通過按鈕點擊**」您可以給我一個關於如何使用Switch語句創建單獨方法的小例子。 – sai 2013-03-18 09:27:08

+0

@sai對不起,對於最近的答覆..我現在會發布 – Pragnani 2013-03-18 09:52:23