-1

I want to get string from xml resource and put as string variable value this is my Code :

String defaultText = Resources.getSystem().getString(R.string.release_movie_message_now);

when run application system say error :

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.erlanggakmoekasan.imovie, PID: 26603 android.content.res.Resources$NotFoundException: String resource ID #0x7f0e0049 at android.content.res.Resources.getText(Resources.java:363) at android.content.res.Resources.getString(Resources.java:456) at com.erlanggakmoekasan.imovie.notifications.ReleaseTodayReceiver$1.onResponse(ReleaseTodayReceiver.java:68) at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$1.run(DefaultCallAdapterFactory.java:83) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7073) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)

My string.xml is as following:

    <resources>
        <string name="release_movie_message_now">telah rilis sekarang, cek dan lihat!</string>
    </resources>

Any solution ?? note i'm doing in BroadcastReceiver.

shizhen
  • 12,251
  • 9
  • 52
  • 88
Erlangga
  • 41
  • 1
  • 7
  • `BroadcastReceiver` have context passed as argument in `#onRecieve()` . So you can use `context.getResources()` .. – ADM Jul 24 '19 at 05:32

4 Answers4

4

You should try with getResources()

Returns a Resources instance for the application's package

String defaultText = getResources().getString(R.string.release_movie_message_now);

FYI

 getResources() is not recognize

Then you should add Context object before getResources()

IntelliJ Amiya
  • 74,896
  • 15
  • 165
  • 198
1

If you want to get string inside an activity/fragment then use below one

String message = getString(R.string.release_movie_message_now)

If you want it in broadcast receiver then

@Override
public void onReceive(Context context, Intent intent) {
   String message = context.getString(R.string.release_movie_message_now);
}
Hardik Bambhania
  • 1,732
  • 15
  • 25
1

In your Java File

    String mytext = getResources().getString(R.string.mytextfromstringxmlfile);

In your String.xml File

    <string name="mytextfromstringxmlfile">Hello World</string>
1

use getResources().getString(R.string.release_movie_message_now); or if it's doesn't work, use context.getString(R.string.release_movie_message_now);

Bayu
  • 43
  • 3