I'm trying to display a simple dialog with android, but it crashes at start.
MainActivity.java :
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MessageDialog messageDialog = new MessageDialog(); Dialog dialog = messageDialog.onCreateDialog(savedInstanceState); dialog.show(); } } MessageDialog.java :
public class MessageDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { FragmentActivity activity = getActivity(); AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setMessage("Hello World").setPositiveButton("0K", null); return builder.create(); } } Error :
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.*****.*****, PID: 7458 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.*****.*****/com.example.*****.*****.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources$Theme android.content.Context.getTheme()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2924) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2985) at android.app.ActivityThread.-wrap14(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1635) at android.os.Handler.dispatchMessage(Handler.java:102)