从活动

时间:2017-09-13 20:51:07

标签: java android android-fragments

我有一个包含两个片段的Activity,我从我的数据库中获取一个用户列表,并存储在MainActivity中的ArrayList中。问题是适配器在我的一个片段中。所以我想要做的就是调用这个方法" initAdapter"只有当我从我的Activity中获取数据时才在我的片段中。

我试过了:

ExternsFragment fragment =
    (ExternsFragment) getSupportFragmentManager().findFragmentById(R.id.viewPager);
fragment.initAdapters(listUsers);

但是我得到了一个"尝试在空对象或引用上调用虚方法"错误。所以我认为这不是正确的方法。只有在我的Activity中完成另一个后,我怎么能在Fragment中执行这个方法?

这是我的堆栈跟踪:

09-13 18:05:30.948 23890-23890/com.construct.test I/System.out: 200
09-13 18:05:30.953 23890-23890/com.construct.test D/AndroidRuntime: Shutting down VM
09-13 18:05:30.993 1121-24364/? I/EventLogSendingHelper: Sending log events.
09-13 18:05:31.103 23890-23890/com.construct.test E/AndroidRuntime: FATAL EXCEPTION: main
                                                                    Process: com.construct.test, PID: 23890
                                                                    java.lang.NullPointerException: Attempt to invoke virtual method 'void com.construct.v2.activities.teams.ExternsFragment.initAdapters(java.util.List)' on a null object reference
                                                                        at com.construct.v2.activities.teams.ActivityTeams$3.onResponse(ActivityTeams.java:165)
                                                                        at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
                                                                        at android.os.Handler.handleCallback(Handler.java:751)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                        at android.os.Looper.loop(Looper.java:154)
                                                                        at android.app.ActivityThread.main(ActivityThread.java:6123)
                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
09-13 18:05:31.104 3100-4960/? W/ActivityManager:   Force finishing activity com.construct.test/com.construct.v2.activities.teams.ActivityTeams

0 个答案:

没有答案