2012-03-07 97 views
1

我想在發生某些錯誤後在Android應用程序屏幕上顯示錯誤消息。所以我在我的strings.xml文件中添加了一個字符串,並且在代碼中我只想告訴系統顯示該代碼。如何將字符串消息動態添加到Android屏幕

但我不完全確定如何做到這一點。我有這樣的事情,我潦草:

TextView errorMessage = (TextView) findViewById(R.id.add_problem_validation_error); 
    errorMessage.setText(R.string.add_problem_validation_error); 

但它甚至沒有編制,因爲我不知道如何正確地指string.xml項目並顯示出來。

任何想法如何以正確的方式做到這一點?

謝謝!

+0

此外,如果有錯誤你正在從logcat發佈錯誤 – 2012-03-07 21:14:06

回答

1

爲什麼不只是使用吐司?

Toast.makeText(getApplicationContext(), 
      R.string.add_problem_validation_error, Toast.LENGTH_LONG).show(); 

或者你可以使用一個警告對話框..

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setMessage(R.string.add_problem_validation_error) 
    .setCancelable(false) 
    .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      MyActivity.this.finish(); 
     } 
    }) 
    .setNegativeButton("No", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.cancel(); 
     } 
    }); 
AlertDialog alert = builder.create(); 
+0

是的,我正在想用烤麪包,但如果這個人沒有注意到這條消息,並且這條消息消失了,那麼......如果這可能會讓用戶感到困惑......但是我更喜歡敬酒。 – GeekedOut 2012-03-07 21:17:57

+0

我確定他們會在屏幕上看到美味的烤麪包。大聲笑許多應用程序使用這個,並確保99.9%的所有用戶看到它。或者你可以嘗試顯示一個警告對話框。試試我們的,看看它是否適合你。這是我會做的。 – 2012-03-07 21:23:28

1

嘗試使用此代碼來代替:

TextView errorMessage = (TextView) findViewById(R.id.add_problem_validation_error); 
errorMessage.setText(getResources().getString(R.string.add_problem_validation_error)); 

變量R.string.add_problem_validation_error是真的被使用的整數ID Android OS指向資源。您需要使用資源類來獲取該ID的相應值。

你的TextView將需要在XML文件中的ID行:

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/add_problem_validation_error" 
    /> 

您的strings.xml文件將需要與消息的串線:

<string name="add_problem_validation_error">Your message here</string> 
+0

好點。我沒有想到這一點。這應該工作 – 2012-03-07 21:15:42

+0

@onit this line \t TextView errorMessage =(TextView)findViewById(R.id.add_problem_validation_error);由於id而不起作用。該id是否必須出現在該活動的xml文件和strings.xml中? – GeekedOut 2012-03-07 21:19:36

+0

現在我只在strings.xml中有這個字符串 – GeekedOut 2012-03-07 21:20:27

相關問題