有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 Java NPE错误(尝试在空对象引用上调用虚拟方法)

我试图用我的应用程序实现一个ViewPager,这样我就可以在两个标签之间滑动,这两个标签应该在两个不同的片段中。这两个选项卡是“添加”选项卡和“列表”选项卡。用户在“添加”选项卡中填写信息,并在“列表”选项卡中显示。它在TabHost上运行得非常好,但是现在我尝试使用一个ViewPager,它不工作,Android studio给了我一个NPE,我的手机说“很遗憾……已经停止了”

在完成一个教程后,它说我应该在我的activity_main中放置一个ViewPager。以前添加选项卡的UI所在的xml。我创建了一个新的XML布局文件(add_fragment),将UI从activity_main放入add_fragment,然后将ViewPager放入activity_main。如果我将UI元素与ViewPager放在一起,ViewPager会阻止所有UI元素,因此您只有一个空白背景

问题是我的主要活动。java当我设置ContentView(R.layout.activity_main)时,它在add_片段中找不到UI元素,因此返回null,但如果我放置setContentView(R.layout.add_片段),它找不到ViewPager,我也会收到一个NPE

NPE

    7-07 09:31:47.870    1837-1837/? E/NetworkScheduler.SchedulerReceiver﹕ Invalid parameter app
07-07 09:31:47.870    1837-1837/? E/NetworkScheduler.SchedulerReceiver﹕ Invalid package name : Perhaps you didn't include a PendingIntent in the extras?
07-07 09:31:47.871  11145-11145/com.mycompany.appointmentmanager D/AndroidRuntime﹕ Shutting down VM
07-07 09:31:47.872  11145-11145/com.mycompany.appointmentmanager E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.mycompany.appointmentmanager, PID: 11145
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mycompany.appointmentmanager/com.mycompany.appointmentmanager.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void 安卓.widget.TextView.setOnClickListener(安卓.view.View$OnClickListener)' on a null object reference
            at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329)
            at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
            at 安卓.app.ActivityThread.access$900(ActivityThread.java:147)
            at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
            at 安卓.os.Handler.dispatchMessage(Handler.java:102)
            at 安卓.os.Looper.loop(Looper.java:135)
            at 安卓.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
            at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:693)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void 安卓.widget.TextView.setOnClickListener(安卓.view.View$OnClickListener)' on a null object reference
            at com.mycompany.appointmentmanager.MainActivity.showDialogOnEditTextClick(MainActivity.java:199)
            at com.mycompany.appointmentmanager.MainActivity.onCreate(MainActivity.java:77)
            at 安卓.app.Activity.performCreate(Activity.java:5933)
            at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2282)
            at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
            at 安卓.app.ActivityThread.access$900(ActivityThread.java:147)
            at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
            at 安卓.os.Handler.dispatchMessage(Handler.java:102)
            at 安卓.os.Looper.loop(Looper.java:135)
            at 安卓.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
            at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:693)

活动_main

<安卓.support.v4.view.ViewPager
    xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    安卓:id="@+id/pager"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
   >
    </安卓.support.v4.view.ViewPager>

任何帮助都将不胜感激

提前谢谢


共 (0) 个答案