Android AlertDialog Resources $ NotFoundException exception

I get an exception when trying to display a dialog in Android. My AlertDialog is called from FragmentActivity with the following code:

public static void displayShare(){ // show share options CharSequence selections[] = new CharSequence[] {"Email", "SMS", "Tweet", "Phone Call", "Cancel"}; final AlertDialog.Builder builder = new AlertDialog.Builder(CommonVariables.mContext); builder.setTitle("Share your location via..."); builder.setItems(selections, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch(which){ case 0: // Email callEmailMethod(); break; case 1: // SMS callSMSMethod(); break; case 2: // Tweet callTwitterMethod(); break; case 3: // Phone Call callNumberMethod(); break; case 4: dialog.cancel(); break; } } }); builder.show(); } 

The following error was received in the line: builder.show ();

  FATAL EXCEPTION: main Process: com.au.ewn.melbwater, PID: 2839 android.content.res.Resources$NotFoundException: Resource ID #0x0 at android.content.res.Resources.getValue(Resources.java:1351) at android.content.res.Resources.loadXmlResourceParser(Resources.java:2774) at android.content.res.Resources.getLayout(Resources.java:1165) at android.view.LayoutInflater.inflate(LayoutInflater.java:421) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.support.v7.app.AlertController$AlertParams.createListView(AlertController.java:879) at android.support.v7.app.AlertController$AlertParams.apply(AlertController.java:856) at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:899) at android.support.v7.app.AlertDialog$Builder.show(AlertDialog.java:917) at com.au.ewn.activities.MainFragment.displayShare(MainFragment.java:1081) at com.au.ewn.activities.HelpMeScreen$2.onClick(HelpMeScreen.java:257) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

I tried everything (except for the correct solution, it seems). Any help is appreciated, thanks.

Note. CommonVariables.mContext is the context of the FragmentActivity function and is not null: CommonVariables.mContext = FragmentAct.this;

+7
android android-fragments android-alertdialog
source share
1 answer

The problem was that in my project there was no style resource for AlertDialog:

In styles.xml put this:

 <style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert" /> 

In your code where you create the alert dialog, put this:

 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.MyDialogTheme); 

Thanks for @Fraranc in this post for the answer: Resources $ NotFoundException: Resource ID # 0x0 in AlertDialog

+15
source share

All Articles