【问题标题】:Display Random Text From Array when Button is Pressed按下按钮时显示数组中的随机文本
【发布时间】:2016-11-26 17:09:54
【问题描述】:

从一个字符串数组(下面的代码)中,当按下按钮时(下面的代码),我想在 TextView(下面的代码)中随机显示一个字符串。我必须使用 onClick“sendMessage”,然后使用随机字符串生成器吗?我将如何在 Java 中做到这一点?非常感谢!

<resources>
    <string-array name="colorArray">
        <item>Green</item>
        <item>Red</item>
        <item>Purple</item>
        <item>Blue</item>
        <item>Orange</item>
        <item>Brown</item>
        <item>Yellow</item>
        <item>White</item>
        <item>Pink</item>
</resources>

<TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="NOT SURE WHAT TO PUT HERE"
        android:textSize="76sp"
        android:gravity="center"
        android:textAllCaps="true"/>

<Button
        android:id="@+id/green_button"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@drawable/green_button"/>

【问题讨论】:

标签: java android xml


【解决方案1】:

使用函数Random 生成随机数,其值不应超过(数组长度 - 1),使用该值从字符串数组中获取值并将其显示在您的文本视图中。

String[] colors = getResources().getStringArray(R.array.colorArray);

Random random = new Random();

textView.setText(colors[random.nextInt(colors.length()-1)]);

希望这会有所帮助。

注意:这个 sn-p 只是一个例子。把你的变量传进去。

【讨论】:

  • 我尝试了这段代码,但我得到了无法解析符号 randomtextviewnextInt 的错误
  • 这只是 sn-p 示例,现在您必须将 textview 变量传递给它。并且 random 和 nextint 应该可以工作,为什么它会给你无法解决错误?
  • 我导入了 import java.util.Random;
  • 但我仍然对必须在哪里导入我的 textview 变量感到困惑。谢谢!
【解决方案2】:

您需要一个用于数组索引的随机数生成器(请参阅https://docs.oracle.com/javase/8/docs/api/java/util/Random.html

在您的Button 上添加onClickListener。然后,使用Random,生成一个随机整数,我们称之为randomNumber

从那里开始,这个过程很容易。

  1. 检查用户是否通过onClickListener点击了按钮
  2. 如果单击按钮,则通过Random 类生成一个随机数randomNumber
  3. 通过将EditText 的文本设置为colorArray[randomNumber] 来显示随机String

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 2020-08-16
    • 2017-04-12
    相关资源
    最近更新 更多