Android:从另一个类中调用方法,该方法将启动一个新的Intent

3dDi92

就像标题已经说过的那样,我正在尝试LoginSuccess()从Class中调用一个方法JSON_Factroy_Return_Handler.java,然后应该启动一个Intent。我总是得到一个java.lang.NullPointerException:尝试在null对象引用上调用虚拟方法'android.content.Context android.content.Context.getApplicationContext()'

为了更清楚地说明我要做什么,我将发布重要的代码段。

Login_Activity.java

public void Login(View view) { //Button Login pressed calls Login-Method
    ...
    new JSON_Factory_Test().execute(result); //Calls AsyncTask-Class
    ...
}


public void LoginSuccess() {
    Intent mainIntent = new Intent(getApplicationContext(), Main_Activity.class);       
    startActivity(mainIntent);
    finish();
}

JSON_Factory_Test.java

public class JSON_Factory_Test extends AsyncTask<String, String, JSONObject> {

    @Override
    protected JSONObject doInBackground(String... args) {
        ...
        return jsonobject;
    }

    @Override
    protected void onPostExecute(JSONObject jsonobject) {
        new JSON_Factory_Return_Handler().JSON_Factory_Retrun(jsonobject);
    }

}

JSON_Factroy_Return_Handler.java

public class JSON_Factory_Return_Handler {
    ...
    public void JSON_Factory_Retrun(JSONObject jsonresult) {
        ...
        if(jsonParams.get("result").toString().equals("TRUE")) {
            new Login_Activity().LoginSuccess();
        } else {
            ...     
        }
        ...
    }

}

然后,当我运行此项目时,我总是会收到NullPointerException!

FATAL EXCEPTION: main
Process: com.example.project, PID: 2855
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
    at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:105)
    at com.example.project.main.Login_Activity.LoginSuccess(Login_Activity.java:138)
    at com.example.project.json.JSON_Factory_Return_Handler.JSON_Factory_Retrun(JSON_Factory_Return_Handler.java:27)
    at com.example.project.json.JSON_Factory_Test.onPostExecute(JSON_Factory_Test.java:49)
    at com.example.project.json.JSON_Factory_Test.onPostExecute(JSON_Factory_Test.java:1)
    at android.os.AsyncTask.finish(AsyncTask.java:632)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5070)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)

我也为Login_Activity.java尝试过此操作,但这也不起作用

public void LoginSuccess() {
    Intent mainIntent = new Intent(Login_Activity.this, Main_Activity.class);       
    Login_Activity.this.startActivity(mainIntent);
    finish();
}

然后,当我运行此项目时,我还会收到NullPointerException!

    FATAL EXCEPTION: main
Process: com.example.project, PID: 3187
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
    at android.content.ContextWrapper.getPackageName(ContextWrapper.java:131)
    at android.content.ComponentName.<init>(ComponentName.java:77)
    at android.content.Intent.<init>(Intent.java:4011)
    at com.example.project.main.Login_Activity.LoginSuccess(Login_Activity.java:138)
    at com.example.project.json.JSON_Factory_Return_Handler.JSON_Factory_Retrun(JSON_Factory_Return_Handler.java:27)
    at com.example.project.json.JSON_Factory_Test.onPostExecute(JSON_Factory_Test.java:49)
    at com.example.project.json.JSON_Factory_Test.onPostExecute(JSON_Factory_Test.java:1)
    at android.os.AsyncTask.finish(AsyncTask.java:632)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5070)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)

我知道我可以在一个类中完成所有操作,但是我不止一次需要AsyncTask。我还需要JSON_Factory_Return_Handler.java,因为此类检查返回的值,然后应调用新方法。

如果你们需要更多信息,我会很乐意给您:)

感谢您的提前帮助,Cheers 3dDi

SHASHIDHAR MANCHUKONDA
((Login_Activity())mContext).LoginSuccess();

其中mContext是您的Login_Activity参考

您需要通过活动参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个类调用StartActivity(intent)方法

来自分类Dev

如何从另一个类中迅速调用另一个方法?

来自分类Dev

如何启动一个Activity并使用另一个类调用该类的方法

来自分类Dev

从Python 2.7中的另一个类方法调用一个类方法

来自分类Dev

在另一个viewController中调用类方法

来自分类Dev

Repaint()方法在另一个类中调用

来自分类Dev

在PHP的另一个类中调用方法

来自分类Dev

从UIButton中的另一个类调用方法

来自分类Dev

一个类调用另一个类的方法(nstimer),该方法无法调用选择器

来自分类Dev

如何在另一个类中调用一个类的main()方法?

来自分类Dev

从另一个类中的一个类调用方法

来自分类Dev

从另一个类中的一个类调用方法

来自分类Dev

从Android中的另一个类访问方法

来自分类Dev

如何在同一个类的另一个方法中调用一个方法?

来自分类Dev

Swift:创建一个按钮来调用另一个类中的方法

来自分类Dev

从android中的另一个类调用mainactivity中的方法

来自分类Dev

在python的同一类中的另一个方法中调用一个类的方法

来自分类Dev

如何在一个类中从另一个调用一个函数(方法)?

来自分类Dev

如何将一个方法调用到同一个类中的另一个方法

来自分类Dev

无法在Android中调用另一个类的方法

来自分类Dev

无法在另一个类中调用方法-ANDROID

来自分类Dev

Activity 方法在 android 中的 oncreate 之前从另一个类获取调用

来自分类Dev

在Java中3个类中的另一个类中调用方法

来自分类Dev

coffeescript类-调用从另一个调用一个类方法

来自分类Dev

如何从另一个类方法调用一个类方法

来自分类Dev

在另一个方法中调用另一个方法时出错

来自分类Dev

如何从另一个.java文件中的另一个类调用方法?

来自分类Dev

模拟另一个类方法的内部调用

来自分类Dev

无法从另一个类调用接口方法

Related 相关文章

  1. 1

    从另一个类调用StartActivity(intent)方法

  2. 2

    如何从另一个类中迅速调用另一个方法?

  3. 3

    如何启动一个Activity并使用另一个类调用该类的方法

  4. 4

    从Python 2.7中的另一个类方法调用一个类方法

  5. 5

    在另一个viewController中调用类方法

  6. 6

    Repaint()方法在另一个类中调用

  7. 7

    在PHP的另一个类中调用方法

  8. 8

    从UIButton中的另一个类调用方法

  9. 9

    一个类调用另一个类的方法(nstimer),该方法无法调用选择器

  10. 10

    如何在另一个类中调用一个类的main()方法?

  11. 11

    从另一个类中的一个类调用方法

  12. 12

    从另一个类中的一个类调用方法

  13. 13

    从Android中的另一个类访问方法

  14. 14

    如何在同一个类的另一个方法中调用一个方法?

  15. 15

    Swift:创建一个按钮来调用另一个类中的方法

  16. 16

    从android中的另一个类调用mainactivity中的方法

  17. 17

    在python的同一类中的另一个方法中调用一个类的方法

  18. 18

    如何在一个类中从另一个调用一个函数(方法)?

  19. 19

    如何将一个方法调用到同一个类中的另一个方法

  20. 20

    无法在Android中调用另一个类的方法

  21. 21

    无法在另一个类中调用方法-ANDROID

  22. 22

    Activity 方法在 android 中的 oncreate 之前从另一个类获取调用

  23. 23

    在Java中3个类中的另一个类中调用方法

  24. 24

    coffeescript类-调用从另一个调用一个类方法

  25. 25

    如何从另一个类方法调用一个类方法

  26. 26

    在另一个方法中调用另一个方法时出错

  27. 27

    如何从另一个.java文件中的另一个类调用方法?

  28. 28

    模拟另一个类方法的内部调用

  29. 29

    无法从另一个类调用接口方法

热门标签

归档