I'm getting an exception when trying to display a dialog box in Android. My AlertDialog is called from a 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 is received at 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 have tried everything (except the correct solution, it seems). Any help is appreciated, thanks.
Note: CommonVariables.mContext is the context of the FragmentActivity and is not null: CommonVariables.mContext = FragmentAct.this;
Sorry if I late to the party. But I also experienced this issue and those 3 solutions I found in internet like :
what helped me solved the issue is my alerdialog is located in fragment, and it solved by calling requiredContext()
instead of baseContext
or applicationContext
when initiating alertdialog.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With