2013-04-04 172 views
-2

我不断收到错误当过我打开我的Android应用程序Android应用不断崩溃

APP_NAME应用(程序com.random.stuff)意外停止。 请重试

logcat的

04-04 05:51:39.975: D/AndroidRuntime(480): Shutting down VM 
04-04 05:51:39.975: W/dalvikvm(480): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
04-04 05:51:40.076: E/AndroidRuntime(480): FATAL EXCEPTION: main 
04-04 05:51:40.076: E/AndroidRuntime(480): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.thenewboston.joseph/com.random.stuff.StartingPoint}: java.lang.NullPointerException 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569) 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.os.Looper.loop(Looper.java:123) 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-04 05:51:40.076: E/AndroidRuntime(480): at java.lang.reflect.Method.invokeNative(Native Method) 
04-04 05:51:40.076: E/AndroidRuntime(480): at java.lang.reflect.Method.invoke(Method.java:507) 
04-04 05:51:40.076: E/AndroidRuntime(480): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-04 05:51:40.076: E/AndroidRuntime(480): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-04 05:51:40.076: E/AndroidRuntime(480): at dalvik.system.NativeStart.main(Native Method) 
04-04 05:51:40.076: E/AndroidRuntime(480): Caused by: java.lang.NullPointerException 
04-04 05:51:40.076: E/AndroidRuntime(480): at com.random.stuff.StartingPoint.(StartingPoint.java:17) 
04-04 05:51:40.076: E/AndroidRuntime(480): at java.lang.Class.newInstanceImpl(Native Method) 
04-04 05:51:40.076: E/AndroidRuntime(480): at java.lang.Class.newInstance(Class.java:1409) 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
04-04 05:51:40.076: E/AndroidRuntime(480): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561) 
04-04 05:51:40.076: E/AndroidRuntime(480): ... 11 more 

起点:

 
    package com.thenewboston.joseph; 

    import android.os.Bundle; 
    import android.app.Activity; 
    import android.text.Editable; 
    import android.view.View; 
    import android.widget.Button; 
    import android.widget.EditText; 
    import android.widget.TextView; 

    @SuppressWarnings("unused") 
    public class StartingPoint extends Activity { 

    Button bGuess; 
    TextView points, hint, result; 
    EditText guess; 
    String dog = "Dog"; 
    String guessDog = guess.toString(); 
    int point = 0; 

    boolean isDog = ((String) hintp).contains("Has four legs and fur"); 
    boolean isFrog = ((String) hintp).contains("Has four legs and is slimy"); 
    boolean wrong; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_starting_point); 

     bGuess = (Button) findViewById(R.id.bGuess); 
     points = (TextView) findViewById(R.id.tPoints); 
     hint = (TextView) findViewById(R.id.tHint); 
     result = (TextView) findViewById(R.id.tResult); 
     guess = (EditText) findViewById(R.id.eGuess); 

     bGuess.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       hint.setText("Has four legs and fur"); 
       if (isDog) { 

        if ("dog".equals(guess.getText().toString())) { 
         wrong = false; 
         hint.setText("Has four legs and is slimy"); 
        } 
       } else { 
        wrong = true; 
       } 

       if (isFrog) { 
        if ("frog".equals(guess.getText().toString())) { 
         wrong = false; 
        } 
       } else { 
        wrong = true; 
       } 

       if (wrong) { 
        point--; 
        result.setText("False try again"); 
        points.setText("Points: " + point); 
       }else{ 
        point++; 
        result.setText("Correct"); 
        points.setText("Points: " + point); 
       } 
      } 
     }); 
    } 
    } 

DDMS线:

04-04 08:30:28.194: I/DEBUG(31): debuggerd: Feb 3 2011 14:45:34 
04-04 08:30:28.225: D/qemud(38): entering main loop 
04-04 08:30:28.244: I/Vold(29): Vold 2.1 (the revenge) firing up 
04-04 08:30:28.264: I/Netd(30): Netd 1.0 starting 
04-04 08:30:28.274: D/Vold(29): USB mass storage support is not enabled in the kernel 
04-04 08:30:28.274: D/Vold(29): usb_configuration switch is not enabled in the kernel 
04-04 08:30:28.274: D/Vold(29): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media) 
04-04 08:30:28.504: D/Vold(29): Volume sdcard state changing 0 (No-Media) -> 1 (Idle-Unmounted) 
04-04 08:30:28.565: D/qemud(38): fdhandler_accept_event: accepting on fd 9 
04-04 08:30:28.565: D/qemud(38): created client 0xe078 listening on fd 10 
04-04 08:30:28.565: D/qemud(38): client_fd_receive: attempting registration for service 'boot-properties' 
04-04 08:30:28.565: D/qemud(38): client_fd_receive: -> received channel id 1 
04-04 08:30:28.574: D/qemud(38): client_registration: registration succeeded for client 1 
04-04 08:30:28.574: I/qemu-props(52): connected to 'boot-properties' qemud service. 
04-04 08:30:28.574: I/qemu-props(52): receiving.. 
04-04 08:30:28.584: I/qemu-props(52): received: dalvik.vm.heapsize=32m 
04-04 08:30:28.584: I/qemu-props(52): receiving.. 
04-04 08:30:28.584: I/qemu-props(52): received: qemu.sf.lcd_density=240 
04-04 08:30:28.584: I/qemu-props(52): receiving.. 
04-04 08:30:28.584: I/qemu-props(52): received: qemu.hw.mainkeys=1 
04-04 08:30:28.584: I/qemu-props(52): receiving.. 
04-04 08:30:28.584: I/qemu-props(52): received: qemu.sf.fake_camera=none 
04-04 08:30:28.584: I/qemu-props(52): receiving.. 
04-04 08:30:28.584: I/qemu-props(52): exiting (4 properties set). 
04-04 08:30:28.584: D/qemud(38): fdhandler_event: disconnect on fd 10 
04-04 08:30:29.084: D/AndroidRuntime(33): >>>>>> AndroidRuntime START com.android.internal.os.ZygoteInit <<<<<< 
04-04 08:30:29.084: D/AndroidRuntime(33): CheckJNI is ON 
04-04 08:30:29.314: I/(34): ServiceManager: 0xad50 


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
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=".StartingPoint" > 

<Button 
    android:id="@+id/bGuess" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:text="Guess" /> 

    <TextView 
    android:id="@+id/tPoints" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/bGuess" 
    android:text="Points: " /> 

<TextView 
    android:id="@+id/tResult" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/tHint" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="74dp" 
    android:text="Result: " 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
    android:id="@+id/tHint" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:text="Hint: \n" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/eGuess" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/bGuess" 
    android:layout_alignLeft="@+id/bGuess" 
    android:layout_alignRight="@+id/bGuess" 
    android:ems="10" /> 

</RelativeLayout> 
+1

请提供您的活动的一些代码。 – KunalK 2013-04-04 06:57:26

+1

请同时上传您的活动代码 – Lucifer 2013-04-04 06:57:29

+2

您在'StartingPoint.java:17'处有'NullPointerException',将其分配给'NULL'。一探究竟。 – Sajmon 2013-04-04 06:58:12

回答

1

你是因为该行String guessDog = guess.toString();面临NullPointerExcetion

只是String guessDog;

现在取代它的onClick获取文本()方法如下,

public void onClick(View v) { 
guessDog = guess.getText().toString(); // Add this line 
. 
. 

这是从我的身边更新的代码,我已经做了一些修改初始化

  • 我从.xml中删除了@dimon值,因为它不在我身边(可以保留在您的代码中)
  • 我删除了hintp这个li NE相反,我提供了直接值true

这里是我的代码,

@SuppressWarnings("unused") 
public class StartingPoint extends Activity 
{ 

    Button bGuess; 
    TextView points, hint, result; 
    EditText guess; 
    String dog = "Dog"; 
    String guessDog; 
    int point = 0; 

    boolean isDog = true; 
    boolean isFrog = true; 
    boolean wrong; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_starting_point); 

     bGuess = (Button) findViewById(R.id.bGuess); 
     points = (TextView) findViewById(R.id.tPoints); 
     hint = (TextView) findViewById(R.id.tHint); 
     result = (TextView) findViewById(R.id.tResult); 
     guess = (EditText) findViewById(R.id.eGuess); 

     bGuess.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) 
      { 
       guessDog = guess.toString(); 
       // TODO Auto-generated method stub 

       hint.setText("Has four legs and fur"); 
       if (isDog) { 

        if ("dog".equals(guess.getText().toString())) { 
         wrong = false; 
         hint.setText("Has four legs and is slimy"); 
        } 
       } else { 
        wrong = true; 
       } 

       if (isFrog) { 
        if ("frog".equals(guess.getText().toString())) { 
         wrong = false; 
        } 
       } else { 
        wrong = true; 
       } 

       if (wrong) { 
        point--; 
        result.setText("False try again"); 
        points.setText("Points: " + point); 
       }else{ 
        point++; 
        result.setText("Correct"); 
        points.setText("Points: " + point); 
       } 
      } 
     }); 
    } 
} 
+0

哦,Windows 7和我建立的电脑 – user2243391 2013-04-04 09:56:25

+0

重新启动计算机或电话 – user2243391 2013-04-04 10:03:43

+0

好吧,虽然如此,我也做了它,然后我做了什么应用程序安装 – user2243391 2013-04-04 10:05:44