启动新活动 Android 时出错

use*_*352 5 java eclipse android android-intent android-activity

我是 Android 开发新手,在创建新的Activity. 我想在点击 a 但应用程序崩溃Activity时开始一个新的Button。以下是控制台和 logcat 中的内容:

日志猫

03-11 00:21:08.639:D/AndroidRuntime(336):关闭虚拟机
03-11 00:21:08.649:W/dalvikvm(336):threadid=1:线程退出并出现未捕获的异常(组=0x40015560)
03-11 00:21:08.659:E/AndroidRuntime(336):致命异常:主要
03-11 00:21:08.659:E/AndroidRuntime(336):java.lang.RuntimeException:无法启动活动组件信息{com.src.vicnote/com.src.vicnote.MainActivity}:java.lang.NullPointerException
03-11 00:21:08.659: E/AndroidRuntime(336): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-11 00:21:08.659:E/AndroidRuntime(336):在 android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 android.os.Handler.dispatchMessage(Handler.java:99)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 android.os.Looper.loop(Looper.java:123)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 android.app.ActivityThread.main(ActivityThread.java:3683)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 java.lang.reflect.Method.invokeNative(Native Method)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 java.lang.reflect.Method.invoke(Method.java:507)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 dalvik.system.NativeStart.main(Native Method)
03-11 00:21:08.659:E/AndroidRuntime(336):由:java.lang.NullPointerException 引起
03-11 00:21:08.659: E/AndroidRuntime(336): 在 com.src.vicnote.MainActivity.onCreate(MainActivity.java:26)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-11 00:21:08.659: E/AndroidRuntime(336): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-11 00:21:08.659: E/AndroidRuntime(336): ... 11 更多
03-11 00:21:38.579:D/AndroidRuntime(365):关闭虚拟机
03-11 00:21:38.579:W/dalvikvm(365):threadid=1:线程退出,但未捕获异常(组=0x40015560)
03-11 00:21:38.599:E/AndroidRuntime(365):致命异常:主要
03-11 00:21:38.599:E/AndroidRuntime(365):java.lang.RuntimeException:无法启动活动组件信息{com.src.vicnote/com.src.vicnote.MainActivity}:java.lang.NullPointerException
03-11 00:21:38.599: E/AndroidRuntime(365): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-11 00:21:38.599:E/AndroidRuntime(365):在 android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 android.os.Handler.dispatchMessage(Handler.java:99)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 android.os.Looper.loop(Looper.java:123)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 android.app.ActivityThread.main(ActivityThread.java:3683)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 java.lang.reflect.Method.invokeNative(Native Method)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 java.lang.reflect.Method.invoke(Method.java:507)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 dalvik.system.NativeStart.main(Native Method)
03-11 00:21:38.599:E/AndroidRuntime(365):由:java.lang.NullPointerException 引起
03-11 00:21:38.599: E/AndroidRuntime(365): 在 com.src.vicnote.MainActivity.onCreate(MainActivity.java:26)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-11 00:21:38.599: E/AndroidRuntime(365): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-11 00:21:38.599: E/AndroidRuntime(365): ... 11 更多

activity_main

<pre><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.src.vicnote.MainActivity"
tools:ignore="MergeRootFrame" /><code>
Run Code Online (Sandbox Code Playgroud)

fragment_main

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/MainScreen" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.src.vicnote.MainActivity$PlaceholderFragment" > <Button android:id="@+id/buttonNew" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="New" /> </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Java代码

http://pastebin.com/K8eAWD2L

JRo*_*wan 2

从它看起来是你设置的内容视图

setContentView(R.layout.activity_main);
Run Code Online (Sandbox Code Playgroud)

但根据您提供的内容,activity_main.xml 中没有按钮,并且它显示空指针异常,因为

newButton = (Button) findViewById(R.id.buttonNew);
Run Code Online (Sandbox Code Playgroud)

为空,因为您提供的信息中的实际按钮位于

片段_main.xml

所以你可以尝试

setContentView(R.layout.fragment_main);
Run Code Online (Sandbox Code Playgroud)