我如何用一个按钮更改我的imageView src,但随机几张图片?

时间:2015-11-04 01:36:19

标签: android random imageview

我想创建一个简单的应用程序(在Android工作室中),可以用一个按钮更改图像,每个按钮按下不同的图像随机上下。我只知道如何使用此代码只用一个按钮更改一张照片

textArea1 = new JTextArea();

textArea1.setColumns(20);

textArea1.setRows(5);

scroller.setViewportView(textArea1);

但是当用户按下按钮并随机时,我不知道如何准备好替换它的多个图像。所以,如果有人能帮我解决这个问题,我将不胜感激,感谢您的支持:)

2 个答案:

答案 0 :(得分: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]);

答案 1 :(得分: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);

        }
    });

}