java - 空指针异常错误

标签 java android

这个作为项目提供给我的基本应用程序应该很容易运行,但却给了我最困难的时间。 好吧,我评论了我的 Activity 中的所有内容,但仍然出现同样的错误。所以我认为错误是在 xml 文件中的某个地方。如果您能发现错误,请帮忙。是的,主文件相当大,但请仔细阅读。

Main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >



<Gallery 
android:id="@+id/gallery1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="2dp">

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:text="Length" />
</RelativeLayout>

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="5dp">


<Spinner
    android:id="@+id/spinner1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" />

<Spinner
    android:id="@+id/spinner2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" />

</RelativeLayout>


<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="5dp">

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="FROM" android:textColor="#FFFF00"/>

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="15dp"
    android:layout_toRightOf="@+id/textView2"
    android:ems="10"
    android:inputType="numberDecimal" android:clickable="false"  android:focusable="false" android:focusableInTouchMode="false">

    <requestFocus />
</EditText>

</RelativeLayout>

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="TO      " android:textColor="#FFFF00" android:clickable="false"  android:focusable="false" android:focusableInTouchMode="false"/>

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="15dp"
    android:layout_toRightOf="@+id/textView3"
    android:ems="10"
    android:inputType="numberDecimal"/>

</RelativeLayout>


<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="center_horizontal"     android:layout_marginTop="5dp">

<Button
    android:id="@+id/b1"
    android:layout_width="70dp"
    android:layout_height="40dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="1" 
    />


<Button
    android:id="@+id/b2"
    android:layout_width="70dp"

    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/b1"
    android:text="2" />

 <Button
    android:id="@+id/b3"
    android:layout_width="70dp"
    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"

    android:layout_toRightOf="@+id/b2"
    android:text="3" />

</RelativeLayout>

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="center">

<Button
    android:id="@+id/b4"
    android:layout_width="70dp"

    android:layout_height="40dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="4" />

<Button
   android:id="@+id/b5"
    android:layout_width="70dp"
    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/b4"

    android:text="5" />

<Button
    android:id="@+id/b6"
    android:layout_width="70dp"
    android:layout_height="40dp"

    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/b5"
    android:text="6"  />

</RelativeLayout>

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="center">

<Button
    android:id="@+id/b7"

    android:layout_width="70dp"
    android:layout_height="40dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="7" />

<Button
   android:id="@+id/b8"
    android:layout_width="70dp"

    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/b7"
    android:text="8" />

<Button
    android:id="@+id/b9"

    android:layout_width="70dp"
    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/b8"
    android:text="9" />

</RelativeLayout>

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="center">

<Button

    android:id="@+id/bdot"
    android:layout_width="70dp"
    android:layout_height="40dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="." />

<Button
    android:id="@+id/b0"
    android:layout_width="70dp"

    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/bdot"
    android:text="0" />

<Button
    android:id="@+id/bc"
    android:layout_width="70dp"
    android:layout_height="40dp"
    android:layout_alignParentTop="true"

    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/b0"
    android:text="C" />

</RelativeLayout>

</LinearLayout>

字符串.xml

<?xml version="1.0" encoding="utf-8"?>

<string name="hello">Hello World, GurkhaActivity!</string>
<string name="app_name">Gurkha</string>
<string-array name="length">
    <item>Metre</item>
    <item>Centimetre</item>
    <item>Kilometre</item>
</string-array>
    <string-array name="weight">
    <item>Gram</item>
    <item>Kilogram</item>
    <item>Milligram</item>
</string-array>

</resources>

attrs.xml//对于图库

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="HelloGallery">
    <attr name="android:galleryItemBackground" />
</declare-styleable>
</resources>

list .xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sanjay.gurkha"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="3" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".GurkhaActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

日志猫:

03-24 01:30:03.729: D/AndroidRuntime(631): Shutting down VM
03-24 01:30:03.769: W/dalvikvm(631): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
03-24 01:30:03.939: E/AndroidRuntime(631): FATAL EXCEPTION: main
03-24 01:30:03.939: E/AndroidRuntime(631): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.sanjay.gurkha/com.sanjay.gurkha.GurkhaActivity}: java.lang.NullPointerException
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.os.Looper.loop(Looper.java:137)
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.app.ActivityThread.main(ActivityThread.java:4424)
03-24 01:30:03.939: E/AndroidRuntime(631):  at java.lang.reflect.Method.invokeNative(Native Method)
03-24 01:30:03.939: E/AndroidRuntime(631):  at java.lang.reflect.Method.invoke(Method.java:511)
03-24 01:30:03.939: E/AndroidRuntime(631):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-24 01:30:03.939: E/AndroidRuntime(631):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-24 01:30:03.939: E/AndroidRuntime(631):  at dalvik.system.NativeStart.main(Native Method)
03-24 01:30:03.939: E/AndroidRuntime(631): Caused by: java.lang.NullPointerException
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.app.Activity.findViewById(Activity.java:1794)
03-24 01:30:03.939: E/AndroidRuntime(631):  at com.sanjay.gurkha.GurkhaActivity.<init>(GurkhaActivity.java:28)
03-24 01:30:03.939: E/AndroidRuntime(631):  at java.lang.Class.newInstanceImpl(Native Method)
03-24 01:30:03.939: E/AndroidRuntime(631):  at java.lang.Class.newInstance(Class.java:1319)
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
03-24 01:30:03.939: E/AndroidRuntime(631):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
03-24 01:30:03.939: E/AndroidRuntime(631):  ... 11 more

最佳答案

错误位于 GurkhaActivity.java 构造函数中的第 28 行。

at com.sanjay.gurkha.GurkhaActivity.<init>(GurkhaActivity.java:28)

您是在 onCreate() 中还是在构造函数中调用 findViewById() ?它应该在 onCreate() 中。当您重写 Activity 时,通常不会弄乱构造函数。

关于java - 空指针异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846136/

相关文章:

android - unity3d中wifi关闭时如何显示android wifi设置?

java - 尝试停止未运行的线程时无法销毁 Activity

java - 如何等待 10 秒而不锁定 android 中的应用程序 UI

doInBackground 中的 Java NullPointer 异常

java - 在包含 2 个指定顶点的无向图中查找最短循环

java - 检测监听器是否已注册

java - Android:无法创建文件到外部公共(public)目录

java - 根据其他类的数据自动设置单选按钮

java - 使用按钮在jsp中调用java函数

java - Spring MVC 中的 PUT 请求