Android ImageView程序,如何根据随机函数设置imageview

时间:2018-06-29 03:18:23

标签: android imageview logic

假设我有200张图像,图像名称为:

  • image1
  • image2
  • image200

现在,我可以使用随机函数生成1到200的随机数形式。由于所有图像的名称都是相同的,除了最后一个数字。我可以将imageview设置为(连接图像和随机数)。

例如,我的随机数生成20,因此我将连接image + 20,这将给我image20,然后将imageView设置为image20。

1 个答案:

答案 0 :(得分:0)

尝试以下操作:(假设您的图像存储在drawables文件夹中)。

1)MainActivity1.class:---------

public class MainActivity1 extends AppCompatActivity {

private ImageView iv;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.layout10);

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

    // initial
    generatePicture();

    // onClick generate a different one.
    iv.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            generatePicture();
        }
    });

}

private void generatePicture(){

    Random r = new Random();
    int i1 = r.nextInt(200) + 1;// generates a number between 1 and 200 including both ends.

    try {
        iv.setImageDrawable(getResources().getDrawable(getResources().getIdentifier("image" + i1, "drawable", getPackageName())));
    }catch (Exception e){
        e.printStackTrace();
    }
}
}

2)layout10.xml:-------

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/iv"/>

</android.support.constraint.ConstraintLayout>