我在Android中启动活动时遇到问题。
我在做什么?
我在 SignUpActivity.class 中有一个setOnClickListner,它调用位于 MethodsParse.class中的名为“DoSignUp”的方法。
这个“DoSignUp”做了什么?
它确实使用从参数中接收的值来执行signUp。 但是,因为我正在使用Parse库而Parse有一个独占的方法来执行SignUps:“signUpInBackground()”,我不知道该怎么做。
我面临什么困难?
当我尝试将signUp作为现有用户进行操作时,它运行正常(向我展示Toast with:Something出错......)!
但是,我尝试调试我的应用,当我尝试将signUp作为新用户时,来自它的数据进入数据库,这意味着,我的问题出在startActivity上。但我不知道为什么。
答案 0 :(得分:0)
例外是nullpointerexception
,您传递的变量之一是null
。此错误可能是由于nextClass
或currentCtx
为null
。
答案 1 :(得分:0)
我看到了一些问题
extends Activity
,将其用作常规Java对象,因此不应扩展Activity extends Application
对象中完成,请参阅:https://parse.com/questions/should-developers-call-parseinitialize-in-oncreate-of-every-activity-android或How to know when Parse.initialize() has already been called? 看着你的错误,我坚信1)是你错误的原因。您调用startActivity(..,..)
并且方法startActivity()
仅可用,因为您扩展了活动。问题是,因为您直接从另一个活动调用登录方法MethodsParse
尚未启动它的生命周期(通过操作系统调用onCreate()
),使startActivity()
失败,因为它有没有背景。
长答案简短,改变:
startActivity(..,..)
要:
currentCtx.startActivity(..,..)