Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在AlertDialog内创建意图时出错_Android_Android Intent_Android Alertdialog - Fatal编程技术网

Android 在AlertDialog内创建意图时出错

Android 在AlertDialog内创建意图时出错,android,android-intent,android-alertdialog,Android,Android Intent,Android Alertdialog,我正在制作一个应用程序,允许用户在Parse.com上注册。我为注册制作了对话框,只是为了在应用程序中增加一种更流畅的感觉。例如,在他们点击“注册”之后。我希望它能把他们带到家乡活动……所以我在对话中做出了一个意图。我知道这是一个类,没有上下文。。。但是,我如何在其中做出一个意图呢?getContext()不可用,getActivity()给了我一个错误。我将在下面发布代码。多谢各位 public class SignUpDialog extends DialogFragment { priv

我正在制作一个应用程序,允许用户在Parse.com上注册。我为注册制作了对话框,只是为了在应用程序中增加一种更流畅的感觉。例如,在他们点击“注册”之后。我希望它能把他们带到家乡活动……所以我在对话中做出了一个意图。我知道这是一个类,没有上下文。。。但是,我如何在其中做出一个意图呢?getContext()不可用,getActivity()给了我一个错误。我将在下面发布代码。多谢各位

public class SignUpDialog extends DialogFragment {

private View v;
private LayoutInflater inflater;
private EditText adressEditText, fullnameEditText , passwordEditText , usernameEditText;



@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {




    inflater = getActivity().getLayoutInflater();
    v = inflater.inflate(R.layout.sign_up_dialog_layout , null);
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setView(v).setPositiveButton("Sign Up!" , new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

            fullnameEditText = (EditText) v.findViewById(R.id.fullNameEditTextLayout);
            passwordEditText = (EditText) v.findViewById(R.id.passwordEditTextLayout);
            usernameEditText = (EditText) v.findViewById(R.id.usernameEditTextLayout);
            adressEditText = (EditText) v.findViewById(R.id.addressEditTextLayout);

            String username = usernameEditText.getText().toString().trim();
            String password = usernameEditText.getText().toString();
            String address = adressEditText.getText().toString();

            Toast.makeText(getActivity() , "We are signing you u now!" , Toast.LENGTH_SHORT).show();


            ParseUser user = new ParseUser();
            user.setUsername(username);
            user.setPassword(password);
            user.put("address", address);


            user.signUpInBackground(new SignUpCallback() {
                public void done(ParseException e) {
                    if (e == null) {
                        // Hooray! Let them use the app now.

                        Intent intent = new Intent(getActivity(), HomescreenActivity.class);
                        getActivity().startActivity(intent);



                    } else {
                        // Sign up didn't succeed. Look at the ParseException
                        // to figure out what went wrong
                    }
                }
            });





        }
    }).setNegativeButton("Cancel" , new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
    });

    return builder.create();
}

 }
这是我得到的错误

java.lang.NullPointerException
        at com.xxx.xxx.dialogs.SignUpDialog$2$1.done(SignUpDialog.java:69)
        at com.xxx.xxx.dialogs.SignUpDialog$2$1.done(SignUpDialog.java:63)
        at com.parse.Parse$5.done(Parse.java:903)
        at com.parse.Parse$5.done(Parse.java:900)
        at com.parse.Parse$6$1.run(Parse.java:944)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5017)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
        at dalvik.system.NativeStart.main(Native Method)

在片段中,您需要空检查
getActivity()
,因为片段可能比活动寿命长

getActivity()
getContext()
的替代方案有:

getApplicationContext()
或者,要创建应用程序中任何位置都可用的上下文,您可以扩展
应用程序
并创建自定义应用程序类。 在自定义应用程序类中创建一个静态变量:

private static final CustomApplication INSTANCE;
CustomApplication的
onCreate()
中:

创建一个静态方法

public static CustomApplication getInstance() {
  return INSTANCE;
}
然后,从应用程序中的任何位置,要获取上下文,您可以调用:

CustomApplication.getInstance()

这是一个上下文。

在片段中,您需要空检查
getActivity()
,因为片段可能比活动寿命长

getActivity()
getContext()
的替代方案有:

getApplicationContext()
或者,要创建应用程序中任何位置都可用的上下文,您可以扩展
应用程序
并创建自定义应用程序类。 在自定义应用程序类中创建一个静态变量:

private static final CustomApplication INSTANCE;
CustomApplication的
onCreate()
中:

创建一个静态方法

public static CustomApplication getInstance() {
  return INSTANCE;
}
然后,从应用程序中的任何位置,要获取上下文,您可以调用:

CustomApplication.getInstance()

这是一个上下文。

在片段中,您需要空检查
getActivity()
,因为片段可能比活动寿命长

getActivity()
getContext()
的替代方案有:

getApplicationContext()
或者,要创建应用程序中任何位置都可用的上下文,您可以扩展
应用程序
并创建自定义应用程序类。 在自定义应用程序类中创建一个静态变量:

private static final CustomApplication INSTANCE;
CustomApplication的
onCreate()
中:

创建一个静态方法

public static CustomApplication getInstance() {
  return INSTANCE;
}
然后,从应用程序中的任何位置,要获取上下文,您可以调用:

CustomApplication.getInstance()

这是一个上下文。

在片段中,您需要空检查
getActivity()
,因为片段可能比活动寿命长

getActivity()
getContext()
的替代方案有:

getApplicationContext()
或者,要创建应用程序中任何位置都可用的上下文,您可以扩展
应用程序
并创建自定义应用程序类。 在自定义应用程序类中创建一个静态变量:

private static final CustomApplication INSTANCE;
CustomApplication的
onCreate()
中:

创建一个静态方法

public static CustomApplication getInstance() {
  return INSTANCE;
}
然后,从应用程序中的任何位置,要获取上下文,您可以调用:

CustomApplication.getInstance()

这是一个上下文。

行中的内容
SignUpDialog.java:69
行中的内容
SignUpDialog.java:69
行中的内容
SignUpDialog.java:69
行中的内容
SignUpDialog.java:69