2015-11-04 53 views
0

我想製作一個簡單的應用程序(在Android studio中),可以使用一個按鈕更改圖像,每個按鈕隨意按下不同的圖像。我只知道如何改變一張照片只有一個按鈕,這個代碼我怎樣才能用一個按鈕來改變我的imageView src,但隨機的幾張圖片呢?

thatImage.setImageResource(R.drawable.myimage); 

但我不知道如何有準備取代它的多個圖像時,用戶按下按鈕和隨機。所以,如果有人可以幫助我這個我將不勝感激,謝謝大家的支持:)

回答

2

您創建圖像的數組,然後用隨機數,讓他們中的一個:

int[] myImageList = new int[]{R.drawable.image1, R.drawable.image2...}; 

Random random = new Random(); 

Integer rand = random.nextInt(myImageList.length - 1) + 0; 

thatImage.setImageResource(myImageList[rand]); 
+0

thx求助 – Joshua

0

strings.xml中

<array name="myImages"> 
    <item>@drawable/a</item> 
    <item>@drawable/b</item> 
    <item>@drawable/c</item> 
    <item>@drawable/d</item> 
    <item>@drawable/e</item> 
</array> 

爲主要活動

公共類MainActivity擴展AppCompatActivity {

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button btn=(Button)findViewById(R.id.btn); 
    final RelativeLayout background = (RelativeLayout) findViewById(R.id.back); 
    Resources res = getResources(); 
    final TypedArray myImages = res.obtainTypedArray(R.array.myImages); 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      final Random random = new Random(); 
      int randomInt = random.nextInt(myImages.length()); 
      int drawableID = myImages.getResourceId(randomInt, -1); 
      background.setBackgroundResource(drawableID); 

     } 
    }); 

} 
相關問題