生成随机数,结果显示在TextView中

时间:2017-04-04 19:19:31

标签: java android random textview mobile-application

我会尝试并尽可能具体。这是我的第一篇帖子/问题。

  1. 这不适用于学校或与工作相关的项目。
  2. 我研究并尝试了很多我看到的结果很少的东西。
  3. 我正在尝试在Main活动上创建一个生成随机数的按钮,并将结果发送到与同一活动上的按钮相邻的Textview。我唯一想要改变的是TextView的内容。

    这是我的Java /主要活动代码:

    package com.example.dannykennedyjr.diceroller;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.TextView;
    
    import java.util.Random;
    
    public class MainActivity extends AppCompatActivity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void d4Results(View view) {
        TextView tv1 = (TextView) findViewById(R.id.d4TextView);
        final Random random = new Random();
        int d4Roll = random.nextInt(4)+1;
        tv1.setText(d4Roll);
    }
    

    }

    这当然不起作用,我开始工作的任何东西都会打开一个新的TextView并清除当前的布局。

    我的XML:

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:background="@android:color/black"
        android:onClick="d4Results"
        android:text="@string/roll_d4"
        android:textAlignment="center"
        android:textColor="@android:color/holo_red_dark"
        android:textSize="24sp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    
    <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_marginStart="16dp"
        android:ems="10"
        android:hint="@string/roll_result"
        android:inputType="textPersonName"
        android:textAlignment="center"
        android:textSize="24sp"
        app:layout_constraintBaseline_toBaselineOf="@+id/button"
        app:layout_constraintHorizontal_bias="0.508"
        app:layout_constraintLeft_toRightOf="@+id/button"
        app:layout_constraintRight_toRightOf="parent" />
    

    任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:1)

此链接可以帮助您:

Generate Random Number

TextView中设置int,如下所示:

tv1.setText(String.valueOf(d4Roll));

答案 1 :(得分:1)

我最近建立了一个Android猜答案游戏.... 我在这里如何在TextView中放置随机数。

int random1 = rand.nextInt(100) + 1; //generate random numbers from 1-100

n1.setText(Integer.toString(random1)); //n1 is a TextView

希望这会对你有所帮助。

答案 2 :(得分:1)

您正在尝试将整数设置为字符串。你需要先转换它。 根据你的例子:

public void d4Results(View view) {
   TextView tv1 = (TextView) findViewById(R.id.d4TextView);
   final Random random = new Random();
   int d4Roll = random.nextInt(4)+1;
   tv1.setText(Integer.ToString(d4Roll));
}