0

ハードコーディングされた文字列「重要な新しいイベント」を含むこのコードがある場合:

public class MainActivity extends Activity {
    private NotificationManager mNManager;
    private static final int NOTIFY_ID = 1100;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String ns = Context.NOTIFICATION_SERVICE;
        mNManager = (NotificationManager) getSystemService(ns);
        final Notification msg = new Notification(R.drawable.ic_launcher,
                "New event of importance",
                System.currentTimeMillis());

しかし、代わりにres/values/string.xmlファイルに移動したいと思います:

<string name="new_event">New event of importance</string>

次にR.strings.new_event、上記のコンストラクターでどのように使用しますか (そして、コンストラクターが非推奨であることはわかっています)。

もう 1 つ質問をお願いfinalします。上記のキーワードが使用されているのはなぜですか?

4

4 に答える 4

3

アクティビティにgetStringは、文字列の ID をパラメーターとして受け取るメソッドがあります。

変化する

  "New event of importance"

 getString(R.string.new_event);

一般に、リソースにアクセスするには、コンテキスト オブジェクトが必要です

于 2014-12-03T13:49:16.123 に答える
2

これを使って

String Name=getResources().getString(R.string.new_string)

こちらのドキュメントをご覧くださいhttp://developer.android.com/guide/topics/resources/string-resource.html

于 2014-12-03T13:49:36.723 に答える
1
String str = context.getResources().getString(R.string.your_string_id)
于 2014-12-03T13:53:34.937 に答える