【问题标题】:Get Random String in strings.xml在strings.xml中获取随机字符串
【发布时间】:2015-03-22 02:56:59
【问题描述】:

我的 Values->Strings.xml 文件中有字符串,当我单击按钮时,我想显示该文件中的随机字符串。我的 main.xml 有这样的复选框:

例如:

  • 大众汽车(复选框)

  • audi(复选框)

  • 梅赛德斯(复选框)

  • 福特(未选中)

当用户点击“generete a car”按钮时,系统会随机获取点击品牌的array items。

梅赛德斯阵列有 c180-e250-e200-c120 等。 Audi数组有a1-a2-a3-a4等。

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Generate Car"
    android:id="@+id/button"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Butona Basın !"
    android:id="@+id/textView1"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="VolksWagen"
    android:id="@+id/checkBox"
    android:layout_below="@+id/textView1"
    android:layout_alignParentStart="true"
    android:checked="false" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Audi"
    android:id="@+id/checkBox2"
    android:layout_below="@+id/checkBox"
    android:layout_alignParentStart="true"
    android:checked="false" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Mercedes"
    android:id="@+id/checkBox3"
    android:layout_below="@+id/checkBox2"
    android:layout_alignParentStart="true"
    android:checked="false" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Ford"
    android:id="@+id/checkBox4"
    android:layout_below="@+id/checkBox3"
    android:layout_alignParentStart="true"
    android:checked="false" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Passat"
    android:id="@+id/textView"
    android:layout_below="@+id/checkBox4"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="A6"
    android:id="@+id/textView2"
    android:layout_below="@+id/textView"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="C180 AMG"
    android:id="@+id/textView3"
    android:layout_below="@+id/textView2"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Mustang"
    android:id="@+id/textView4"
    android:layout_below="@+id/textView3"
    android:layout_alignStart="@+id/textView3" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Volkswagen"
    android:id="@+id/textView5"
    android:layout_above="@+id/textView2"
    android:layout_toStartOf="@+id/textView1" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Audi"
    android:id="@+id/textView6"
    android:layout_above="@+id/textView3"
    android:layout_alignEnd="@+id/checkBox" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Mercedes"
    android:id="@+id/textView7"
    android:layout_below="@+id/textView6"
    android:layout_toEndOf="@+id/checkBox4" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Ford"
    android:id="@+id/textView8"
    android:layout_below="@+id/textView3"
    android:layout_alignEnd="@+id/textView5" />

和主要活动;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tvvolks = (TextView)findViewById(R.id.textvolks);
        TextView txaudi = (TextView)findViewById(R.id.textaudi);
        TextView txford = (TextView)findViewById(R.id.textford);
        TextView txmerc = (TextView)findViewById(R.id.textmerc);
        Button generate = (Button)findViewById(R.id.button);
        //When pressed button check to checkbox and whole actived get a random string at string.xml

    }
}

字符串.xml

  <string-array name="Mercedes">
    <item>C180</item>
    <item>E250</item>
    <item>etc.</item>
</string-array>
<string-array name="Audi">
    <item>A1</item>
    <item>A2</item>
</string-array> <string-array name="Ford">
<item>Mustang</item>
<item>Fusion</item>
<item>Focus</item>

【问题讨论】:

  • 好的。生成随机数的代码在哪里,获取具有该索引的数组元素和一个 Click 侦听器来触发它并将其显示在某处(我想是在 TextView 中)?
  • 你在哪里添加的?
  • 它将出现在 strings.xml 上并将显示在 textviews 上。如果未选中该框,该框将不可见。如果用户选择 vw 和 audi,它将出现在 string.xml audi 和 vw 的数组上。并且将在 textvolks-textaudi 上显示其他人将不可见。idk 我将如何添加数组和 clicklistener 请帮助谢谢。
  • @DerGolem 你还在吗?
  • 你不应该要求其他人为你做你的工作。如果您有问题,我们会在这里为您提供帮助,但您之前必须付出一些努力。至少,研究Random 对象。

标签: android string checkbox random textview


【解决方案1】:

string.xml主要用于要翻译的字符串和要在布局等其他资源中使用的字符串。

由于不会翻译汽车品牌和型号,最好将它们存储在静态ArrayListHashMap中。然后,您可以轻松地直接访问它们。

【讨论】:

  • 如果您对如何获取随机数有疑问,我可以将其添加到我的答案中。
  • 好的,谢谢你的想法,但这只是例子。我将用于另一个想法。 :)
  • 我在vollnixx.wordpress.com/2012/05/10/… 找到了我的答案,但感谢您的评论说 abi :) :)
猜你喜欢
  • 2011-02-18
  • 2011-11-14
  • 2012-09-20
  • 2014-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多