将EditText用于TextView

时间:2016-05-12 21:32:14

标签: android

我有一个问题,我想创建一个随机的句子。在我的第一个活动中,我有4个EditText(用于播放器的名称)。

我已经生成了一个随机参数的代码,但我不知道如何添加EditText的值。

MainActivity:4 EditText RandomActivity:从我的String中显示一些句子。

我想说出一句话:[EDITTEXT1] WORD WORD WORD [EDITEXT2]

你可以试着解释我怎么办?谢谢!

RandomActivity:

 Resources res = getResources();

        myString = res.getStringArray(R.array.phrases);

        String q = myString[rgenerator.nextInt(myString.length)];

        tv = (TextView) findViewById(R.id.textView);
        tv.setText(q);

我的句子XML文件

<string-array name="phrases"> // name of the string array
    <item>Phrase 1</item> // items
    <item>Phrase 2</item>
    <item>Phrase 3</item>
    <item>Phrase 4</item>
</string-array>

我的EditText XML

<EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:text="Joueur 1"
        android:textColor="#FFF"

        android:layout_centerHorizontal="true"
        android:layout_marginTop="114dp"
        android:autoText="true"
        android:editable="true"
        android:maxWidth="200dp"
        android:minWidth="200dp" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText2"
        android:text="Joueur 2"
        android:textColor="#FFF"
        android:layout_below="@+id/editText"
        android:layout_alignLeft="@+id/editText"
        android:layout_alignStart="@+id/editText"
        android:minWidth="200dp"
        android:maxWidth="200dp" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText3"
        android:text="Joueur 3"
        android:textColor="#FFF"
        android:minWidth="200dp"
        android:maxWidth="200dp"
        android:layout_below="@+id/editText2"
        android:layout_alignLeft="@+id/editText2"
        android:layout_alignStart="@+id/editText2" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText4"
        android:text="Joueur 4"
        android:textColor="#FFF"
        android:minWidth="200dp"
        android:maxWidth="200dp"
        android:layout_below="@+id/editText3"
        android:layout_alignLeft="@+id/editText3"
        android:layout_alignStart="@+id/editText3" />

1 个答案:

答案 0 :(得分:0)

 private String generateString() {
    Context context;
    String [] phrases = getResources().getStringArray(R.array.phrases);
    StringBuilder stringBuilder = new StringBuilder();

    return stringBuilder
            .append(editeText.getText().toString())
            .append(phrases[0])
            .append(phrases[1])
            .append(editeText2.getText().toString())
            .toString();
}

如果textView包含“ Apple ”,则textView 2的值为“橙色” 这个方法会给你一个字符串,上面写着“ Hello phrase1 phrase2 Orange ”。

因此,使用字符串构建器,您可以使用append(),就像我上面所做的那样,您可以添加追加字符串。