根据Android工作室中随机生成的数字显示随机图像?

时间:2016-12-19 15:44:24

标签: java android random android-image

我做了一个随机数发生器。当我按下一个按钮时,它将生成一个从1到999的数字。该数字显示在文本视图中,但我使其不可见,因此它可以在后台工作。我还添加了一些图片,但却让它们看不见。我现在要做的是给图像一个证书编号,例如1到100.根据我的发生器生成的数字,图像将再次可见。
你知道给不同的图片提供不同的展示机会。 有人可以帮我解决这个问题吗?我在学校也做了同样的事情,但那是帕斯卡尔,我不能再记住代码了。

修改

首先,我要道歉,我的问题是如此模糊,我感到沮丧和疲惫,因为我不在乎而发布这个问题

我想要做的是一个小赌博游戏,玩家按下一个按钮然后弹出一个随机图像,显示他赢了。我尝试用以下代码实现这一点。

my Java file looks like this

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.Random;

public class MainActivity extends AppCompatActivity {
public ImageView imageView;
public ImageView imageView2;
public ImageView imageView3;
public ImageView imageView4;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    imageView = (ImageView) findViewById(R.id.imageView);
    imageView.setVisibility(View.INVISIBLE);
    imageView2 = (ImageView) findViewById(R.id.imageView2);
    imageView2.setVisibility(View.INVISIBLE);
    imageView3 = (ImageView) findViewById(R.id.imageView3);
    imageView3.setVisibility(View.INVISIBLE);
    imageView4 = (ImageView) findViewById(R.id.imageView4);
    imageView4.setVisibility(View.INVISIBLE);
}
public void generator (View view) {
    Random rand= new Random();
    int number = rand.nextInt(999)+1;

    TextView shownumber = (TextView)findViewById(R.id.cases);
    String mystring = String.valueOf(number);
    shownumber.setText(mystring);
    switch (number){
        case 1-250:
            imageView = (ImageView) findViewById(R.id.imageView);
            imageView.setVisibility(View.VISIBLE);

            break;
        case 251-400:
            imageView2 = (ImageView) findViewById(R.id.imageView2);
            imageView2.setVisibility(View.VISIBLE);

            break;
        case 401-600:
            imageView3 = (ImageView) findViewById(R.id.imageView3);
            imageView3.setVisibility(View.VISIBLE);

            break;
        case 601-1000:
            imageView4 = (ImageView) findViewById(R.id.imageView4);
            imageView4.setVisibility(View.VISIBLE);

            break;
    }
}
}

但是当我启动应用程序时,生成的数字仍显示在文本视图中,但图像不会再次显示。 任何人都有解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:0)

你可以做这样的事情

  1. 创建一个可以保存图像的数组,

    int Images[] = {R.drawable.image1, R.drawable.image2....};
    
  2. 现在,当生成随机数时,您可以将该数字用作数组的索引

    例如,如果生成了数字5,则它将类似于Images[5]