E/AndroidRuntime: FATAL EXCEPTION: main
Process: websters.smartindiaserviceapp, PID: 3320
java.lang.RuntimeException: Unable to start activity ComponentInfo{websters.smartindiaserviceapp/websters.smartindiaserviceapp.Activities.WelcomeActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.FragmentTransaction android.support.v4.app.FragmentManager.beginTransaction()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
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)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.FragmentTransaction android.support.v4.app.FragmentManager.beginTransaction()' on a null object reference
at android.support.v4.app.DialogFragment.dismissInternal(DialogFragment.java:200)
at android.support.v4.app.DialogFragment.dismiss(DialogFragment.java:171)
at websters.smartindiaserviceapp.Activities.WelcomeActivity.onCreate(WelcomeActivity.java:51)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
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)
当我试图关闭活动中的自定义对话框时,我遇到了这个异常。
public class CustomDialog extends DialogFragment {
public static CustomDialog newInstance() {
return new CustomDialog();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.dialog, container, false);
Glide.with(this).load(R.drawable.loader).placeholder(R.drawable.loader)
//.dontAnimate()
.into((ImageView) v.findViewById(R.id.progress));
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
if (getDialog() == null)
super.setShowsDialog (false);
return v;
}
}
这是一个关于自定义对话框的类。
我正在使用以下代码显示对话框:
CustomDialog.newInstance().show(getSupportFragmentManager(),"Dialog");
对话框正常显示。但是,当我尝试使用以下代码关闭对话框时:
CustomDialog.newInstance().dismiss();
我遇到了异常。请告诉我我的错误在哪里,如何关闭对话框。
WelcomeActivity
。你正在调用一个尚未初始化的对象上的beginTransaction()
方法。 - TheAnonymous010