gpt4 book ai didi

java - Android 应用程序在生成随机数时停止

转载 作者:行者123 更新时间:2023-12-01 22:03:09 25 4
gpt4 key购买 nike

我似乎无法在任何地方找到这个答案。我已经尝试了我能找到的所有代码。我有一个应用程序需要生成 2 个随机数,用户将它们相加。它是一个数学练习应用程序。

这是 ui 的 xml 代码。

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/num1"
android:layout_marginRight="50dp"
android:layout_marginEnd="50dp"
android:textSize="72sp"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/oper"
android:layout_toStartOf="@+id/oper" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/num2"
android:textSize="72sp"
android:layout_alignTop="@+id/oper"
android:layout_toRightOf="@+id/oper"
android:layout_toEndOf="@+id/oper"
android:layout_marginLeft="50dp"
android:layout_marginStart="50dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="+"
android:id="@+id/oper"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="72sp" />
<小时/>

第一个 TextView 和第三个 TextView 是应用程序生成的随机数。第二个textview只是一个加号。

这是我的 java 代码(请记住这不是 mainActivity)

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_addition);
updateNums();

}

public void updateNums(){
final Random random = new Random();
final int randval = random.nextInt(10 - 1 + 1) + 1;
runOnUiThread(new Runnable() {
@Override
public void run() {
final TextView num1 = (TextView) findViewById(R.id.num1);
num1.setText(randval);
final TextView num2 = (TextView) findViewById(R.id.num2);
num2.setText(randval);
}});
}

最佳答案

您必须将随机值转换为字符串 - 否则它会被视为字符串资源

public void updateNums(){
final Random random = new Random();
final int randval = random.nextInt(10 - 1 + 1) + 1;
runOnUiThread(new Runnable() {
@Override
public void run() {
final TextView num1 = (TextView) findViewById(R.id.num1);
num1.setText(String.valueOf(randval));
final TextView num2 = (TextView) findViewById(R.id.num2);
num2.setText(String.valueOf(randval));
}});
}

关于java - Android 应用程序在生成随机数时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33344106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com