我wan't設置的TextView的字符串值文本我在string.xml變化的TextView與Java類string.xml資源
,所以我想在java類與開關的情況下做到這一點
但不能置我TextView的文本,當我運行應用程序,TextView的是空
對不起,如果它是一個簡單的愚蠢的錯誤:)
這是我的佈局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@drawable/shape">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textColor="@color/txt_dialog"
android:textSize="25sp"/>
</RelativeLayout>
,這是string.xml
<resources>
<string name="t1"> hi </string>
<string name="t2"> hello </string>
<string name="t3"> ok </string>
</resources>
最後,這是我的Java代碼應該選擇那些字符串蒙山隨機選擇一個,然後設置,在對話框
public void hi(){
TextView txt_truth = (TextView) findViewById(R.id.textview);
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.mylayout);
Random random = new Random();
int hi_random = random.nextInt(2) + 1;
switch (hi_random){
case 1:
if (txt_truth != null) {
txt_truth.setText(getResources().getString(R.string.t1));
}
break;
case 2:
if (txt_truth != null) {
txt_truth.setText(getResources().getString(R.string.t2));}
break;
case 3:
if (txt_truth != null) {
txt_truth.setText(getResources().getString(R.string.t3));}
break;}
dialog.show();
}
顯而易見的:'txt_truth.setText(getResources()的getString(R.string.t1));'但是你的字符串被命名爲'A1,A2, ...',而不是't1,t2,...' –
對不起,這個錯誤發生在我寫這個時,我現在編輯 –
另外,如果你是基於這個:'int hi_random = random.nextInt 45)+ 1;'很有可能你得到的數字超出了你的轉換範圍。 –