我想创建一个简单的应用程序(在Android工作室中),可以用一个按钮更改图像,每个按钮按下不同的图像随机上下。我只知道如何使用此代码只用一个按钮更改一张照片
textArea1 = new JTextArea();
textArea1.setColumns(20);
textArea1.setRows(5);
scroller.setViewportView(textArea1);
但是当用户按下按钮并随机时,我不知道如何准备好替换它的多个图像。所以,如果有人能帮我解决这个问题,我将不胜感激,感谢您的支持:)
答案 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);
}
});
}