翻訳

2016-09-18 19 views
-2

のための文字列を取得し、私はこのように働く私のアプリを持っている:翻訳

public static String formatForUI(Calendar today, Calendar date) { 
    if (today.get(Calendar.YEAR) == date.get(Calendar.YEAR)) { 
     if (today.get(Calendar.DAY_OF_YEAR) == date.get(Calendar.DAY_OF_YEAR)) { 
      return "Today"; 
     } 
     return currentYearDateFormat(date.getTimeInMillis()); 
    } else { 
     return format(date.getTimeInMillis()); 
    } 
} 

は、私が「今日は」という文字列になりたいので、私はのstrings.xmlまた

<resources> 
<string name="today">Today</string> 
</resources> 

でそれを持っています私はes \ strings.xmlを持っています

<resources> 
<string name="today">Hoy</string> 
</resources> 

私はgetResources()で試してみましたが動作しません。どうしたらいいですか?

+0

「動作しません」という定義は機能しません。 – njzk2

+0

"シンボルを解決できません" – Trowsing

答えて

1

アンドロイドの多くのことには、Contextが必要です。通常は、あなたのアクティビティやサービス、またはあなたのフラグメントを含むアクティビティ。

コンテキストパラメータを期待するメソッドを定義します。

public static String formatForUI(Context context, Calendar today, Calendar date) { 

は、コンテキストを使用します。

return context.getString(R.string.today); 

(またはcontext.getResources().getString(R.string.today)を、およびリソースを使用すると、文字列の横に他のものにアクセスすることができます)

+0

または単に 'context.getString()' –

+0

@ Code-Apprentice良い点 – njzk2

0

私の解決策は次のとおりです。

  • あなたのアンドロイドプロジェクトをきれいにして構築する必要があります。
  • そうでない場合は、Androidスタジオを再起動してください。
  • まだエラーが発生した場合は、getcontext().getResources().getstring(int id)と入力してください。
+0

最後の箇条書きは意味をなさない。編集してください。 –

+0

こんにちは@ Code-Apprenticeコメントありがとうございます。私は問題に答えないので、最後の箇条書きを削除しました。 –