0

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)

1 Answer 1

1

Why are you calling "onCreateDialog"?

Use the following code to show a dialog fragment:

MessageDialog dialog = new MessageDialog(); dialog.show(getSupportFragmentManager(), "fragment_name"); 

(The second parameter is the tag for the fragment. It can be used to get the fragment via "FragmentManager#findFragmentByTag" later.)

Sign up to request clarification or add additional context in comments.

1 Comment

because I thought it was like this :)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.