2016-11-25 12 views
2

下のリンクとして重複することがあります。私が質問したい特定の質問や、より速い答えを得るためには、私の質問の答えを見てください。それ以外の場合は、次のリンクに移動します。AlertDialogのテキストのアンドロイドで文字列リソースにアクセスする方法

Android: How do I get string from resources using its name?

===================================== ===================== 私の質問:

私はこれを求めています可能性のある重複はあるが質問は私のために働かなかった。

私はAlertDialogに

のstrings.xml

にアクセスしようとしていますが、私はそれを作るように見えることはできません。私は、以下の次のコードで

.setTitle(@文字列/ AlertTitle)

を言っているが、それは働いていたとエラーが出ましたしませんでした。 AlertDialogから文字列を取得する方法はありますか、それとも不可能ですか?

以下のコード。

これはAlertMainActivity.java

AlertDialog dialog = new AlertDialog.Builder(this) 
         .setTitle("Add a New Task") //AlertTitle 
         .setMessage("What do you want to do next?") //AlertMessage 
         .setView(taskEditText) 
         .setPositiveButton("Add", new DialogInterface.OnClickListener() //Add { 
          ... 
         .setNegativeButton("Cancel", null) //Cancel 
          ... 
         } 

とのstrings.xml

<string name="AlertTitle">Add a New Task</string> 
<string name="AlertMessage">What do you want to do next?</string> 
<string name="Add">Add</string> 
<string name="Cancel">Cancel</string> 

感謝です!

答えて

3

この特定のケースのためにタイトルを設定するための2つの方法があるプログラムであなたはまた

setTitle(getString(R.string.AlertTitle)); 

代わりの

.setTitle(@string/AlertTitle); 

を使用する必要があります文字列リソースを使用して。 getString()

.setTitle(R.string.AlertTitle); 

から取得することができ、R.string.AlertTitleまたは文字列を設定することにより、されるであろう、リソースIDの谷のいずれかが、より多くの情報のためAndroid: How do I get string from resources using its name?を参照してください。あなたはJavaコードで文字列リソースを参照している場合ActivityまたはFragment

+0

感謝を。ほんとうにありがとう。 –

1

からそれを使用するときは、getResources().getString(...)の代わりにgetStringを行うことができ、それを行うための正しい方法は次のとおりです。R.string.string_name

だからあなたのコードは次のように動作するはずです:あなたの助けを

AlertDialog dialog = new AlertDialog.Builder(this) 
        .setTitle(R.string.AlertTitle) //AlertTitle 
        //... 
関連する問題