0
是否有任何方法將我的數組中的粗體文本保留到第三個textview中?我已經通過爲每個按鈕單擊按鈕來將它從XML轉移到我的第一個和第二個文本瀏覽。我試圖用我的第三個textview替換粗體動物句子中的粗體字。我的第三個textview將會每秒不斷地顯示新的組合,這樣每次點擊一個按鈕來更改動物或句子時,textview將顯示新的組合。從textview中替換粗體文本?
這是我的strings.xml
<string-array name="Sentences">
<item>"The big <![CDATA[<b>This</b>]]> ate the worm"</item>
<item>"The <![CDATA[<b>Is</b>]]> is strong"</item>
<item>"Every <![CDATA[<b>Just</b>]]> can run"</item>
<item>"I saw a <![CDATA[<b>A</b>]]>"</item>
<item>"The <![CDATA[<b>Test</b>]]> was sleeping"</item>
</string-array>
<string-array name="Animals">
<item>"<![CDATA[<b>Cow</b>]]>"</item>
<item>"<![CDATA[<b>Sheep</b>]]>"</item>
<item>"<![CDATA[<b>Dog</b>]]>"</item>
<item>"<![CDATA[<b>Pig</b>]]>"</item>
<item>"<![CDATA[<b>Chicken</b>]]>"</item>
</string-array>
這是我main.java
package com.MyFirstApp.App1;
import java.util.Random;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Button;
public class Original extends Activity implements OnClickListener
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn_sentence = (Button) findViewById(R.id.btn_sentence);
Button btn_animal = (Button) findViewById(R.id.btn_animal);
final Random ran = new Random();
final Resources res = getResources();
final TextView text1 = (TextView) findViewById(R.id.sentencetext);
final TextView text2 = (TextView) findViewById(R.id.animaltext);
final TextView text3 = (TextView) findViewById(R.id.newsentencetext);
btn_sentence .setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String[] NewText = null;
NewText = res.getStringArray(R.array.Sentences);
String strRandom = NewText[ran.nextInt(NewText.length)];
text1.setText(Html.fromHtml(strRandom));
}
});
btn_animal .setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String[] NewText2 = null;
NewText2 = res.getStringArray(R.array.Animals);
String strRandom2 = NewText2[ran.nextInt(NewText2.length)];
text2.setText(Html.fromHtml(strRandom2));
}
});
Thread t = new Thread() {
@Override
public void run() {
try {
while (!isInterrupted()) {
Thread.sleep(1);
runOnUiThread(new Runnable() {
@Override
public void run() {
String str = Html.fromHtml(text1).toString();
String str2 = text2.getText().toString();
str = str.replaceAll("<![CDATA[<b></b>]]>", str2);
text3.setText(Html.fromHtml(str));
}
});
}
} catch (InterruptedException e) {
}
}
};
t.start();}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}}
這是我在我的問題
String str = Html.fromHtml(text1).toString();
String str2 = text2.getText().toString();
str = str.replaceAll("<![CDATA[<b></b>]]>", str2);
text3.setText(Html.fromHtml(str));
我不能似乎從第一個textview或第二個textview中獲得粗體文本。 例如
`String str2 = text2.getText().toString();`
只返回第二TextView的文本,但它不是大膽,正如我需要它的人。我修好後,我希望我可以用這條線
str = str.replaceAll("<![CDATA[<b></b>]]>", str2);
用新的大膽的動物取代舊的粗體文本。
幫助,將不勝感激
~TylerNormal
唯一的問題是,我不能只是追加粗體文字,我d必須用我的第一個textview中的粗體文本替換我的第二個textview中的粗體文本,並在我的第三個textview中顯示 – TylerNormal 2014-10-04 20:41:43
如果我可以做這樣的代碼... String str2 = text2.getText(fromHtml)。的toString(); 它可能工作 – TylerNormal 2014-10-04 20:44:15