我有一个问题,我想创建一个随机的句子。在我的第一个活动中,我有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" />
答案 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(),就像我上面所做的那样,您可以添加追加字符串。