StartActivity - Android

时间:2015-11-01 02:52:07

标签: android

http://i.imgur.com/UL62rAd.png

我在Android中启动活动时遇到问题。

我在做什么?

我在 SignUpActivity.class 中有一个setOnClickListner,它调用位于 MethodsParse.class中的名为“DoSignUp”的方法。

这个“DoSignUp”做了什么?

它确实使用从参数中接收的值来执行signUp。 但是,因为我正在使用Parse库而Parse有一个独占的方法来执行SignUps:“signUpInBackground()”,我不知道该怎么做。

我面临什么困难?

当我尝试将signUp作为现有用户进行操作时,它运行正常(向我展示Toast with:So​​mething出错......)!

当我尝试将signUp作为新用户时,它会显示一个错误: http://i.imgur.com/swFdzcl.png

但是,我尝试调试我的应用,当我尝试将signUp作为新用户时,来自它的数据进入数据库,这意味着,我的问题出在startActivity上。但我不知道为什么。

2 个答案:

答案 0 :(得分:0)

例外是nullpointerexception,您传递的变量之一是null。此错误可能是由于nextClasscurrentCtxnull

答案 1 :(得分:0)

我看到了一些问题

  1. 从MethodsParse中删除extends Activity,将其用作常规Java对象,因此不应扩展Activity
  2. 看起来你在MethodsParse中初始化Parse。这应该在extends Application对象中完成,请参阅:https://parse.com/questions/should-developers-call-parseinitialize-in-oncreate-of-every-activity-androidHow to know when Parse.initialize() has already been called?
  3. 看着你的错误,我坚信1)是你错误的原因。您调用startActivity(..,..)并且方法startActivity()仅可用,因为您扩展了活动。问题是,因为您直接从另一个活动调用登录方法MethodsParse尚未启动它的生命周期(通过操作系统调用onCreate()),使startActivity()失败,因为它有没有背景。

    长答案简短,改变:

    startActivity(..,..)
    

    要:

    currentCtx.startActivity(..,..)