0

我正在尝试在 textView 对象中显示一个字符串。目前我只得到字符串数组中的第一个字符串。

   public void onClick(View v) {
        Resources res = getResources();
        String[] hintsStr = res.getStringArray(R.array.hints);
        TextView hintShow = (TextView)findViewById(R.id.hintShow);
        int rndInd = (int) Math.random()*5;
        //hintShow.setText(rndInd);
        hintShow.setText(hintsStr[rndInd]);
        //System.out.print(rndInd);
    }
4

3 回答 3

2

试试这个来生成你的随机数。-

Random rand = new Random();
int rndInd = rand.nextInt(5); // Will get a rand number between 0 and 4

此外,您应该只将 rand 对象实例化一次,作为方法外部的实例变量onClick

于 2013-10-10T08:14:23.080 回答
1

您正在将 Math.rand() 的结果转换为 int,因此结果始终为 0,您可以int rndInd = (int)(Math.random()*5);使用 ssantos 建议的解决方案,甚至更好

于 2013-10-10T08:17:36.167 回答
0

首先初始化随机类,然后获取值,见下面的代码

Randon random=new Random();
int value = random.nextInt(10);

它肯定会起作用。

于 2013-10-10T09:05:28.747 回答