最近,写一段代码,挺简单的,可是报了一个The application has stopped unexception.求大虾们帮助看看,怎么回事。代码如下:
first.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="欢迎使用天马行空为您呈现的隐写系统:请选择目标图片"
    />
<ImageButton 
    android:layout_width="wrap_content" 
    android:src="@drawable/open" 
    android:id="@+id/ibtn1" 
    android:layout_height="wrap_content">
    </ImageButton>
</LinearLayout>
comsystem.java
package com.tmxk;import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageButton;public class ComsystemActivity extends Activity {
    /** Called when the activity is first created. */
ImageButton btn1 = (ImageButton)findViewById(R.id.ibtn1);
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first);
    }
}logcat信息为:
05-02 11:02:41.782: DEBUG/AndroidRuntime(299): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
05-02 11:02:41.782: DEBUG/AndroidRuntime(299): CheckJNI is ON
05-02 11:02:41.991: DEBUG/AndroidRuntime(299): --- registering native functions ---
05-02 11:02:42.302: DEBUG/ddm-heap(299): Got feature list request
05-02 11:02:42.621: DEBUG/AndroidRuntime(299): Shutting down VM
05-02 11:02:42.631: DEBUG/dalvikvm(299): DestroyJavaVM waiting for non-daemon threads to exit
05-02 11:02:42.631: DEBUG/dalvikvm(299): DestroyJavaVM shutting VM down
05-02 11:02:42.631: DEBUG/dalvikvm(299): HeapWorker thread shutting down
05-02 11:02:42.631: DEBUG/dalvikvm(299): HeapWorker thread has shut down
05-02 11:02:42.631: DEBUG/jdwp(299): JDWP shutting down net...
05-02 11:02:42.642: INFO/dalvikvm(299): Debugger has detached; object registry had 1 entries
05-02 11:02:42.642: DEBUG/dalvikvm(299): VM cleaning up
05-02 11:02:42.651: ERROR/AndroidRuntime(299): ERROR: thread attach failed
05-02 11:02:42.662: DEBUG/dalvikvm(299): LinearAlloc 0x0 used 629532 of 5242880 (12%)
05-02 11:02:43.091: DEBUG/AndroidRuntime(307): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
05-02 11:02:43.091: DEBUG/AndroidRuntime(307): CheckJNI is ON
05-02 11:02:43.271: DEBUG/AndroidRuntime(307): --- registering native functions ---
05-02 11:02:43.571: DEBUG/ddm-heap(307): Got feature list request
05-02 11:02:43.901: INFO/ActivityManager(52): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.tmxk/.ComsystemActivity }
05-02 11:02:43.971: DEBUG/AndroidRuntime(307): Shutting down VM
05-02 11:02:43.971: DEBUG/dalvikvm(307): DestroyJavaVM waiting for non-daemon threads to exit
05-02 11:02:43.971: DEBUG/dalvikvm(307): DestroyJavaVM shutting VM down
05-02 11:02:43.971: DEBUG/dalvikvm(307): HeapWorker thread shutting down
05-02 11:02:43.971: DEBUG/dalvikvm(307): HeapWorker thread has shut down
05-02 11:02:43.971: DEBUG/jdwp(307): JDWP shutting down net...
05-02 11:02:43.981: INFO/dalvikvm(307): Debugger has detached; object registry had 1 entries
05-02 11:02:43.981: DEBUG/dalvikvm(307): VM cleaning up
05-02 11:02:44.003: ERROR/AndroidRuntime(307): ERROR: thread attach failed
05-02 11:02:44.031: INFO/ActivityManager(52): Start proc com.tmxk for activity com.tmxk/.ComsystemActivity: pid=314 uid=10034 gids={}
05-02 11:02:44.031: DEBUG/dalvikvm(307): LinearAlloc 0x0 used 639500 of 5242880 (12%)
05-02 11:02:44.151: DEBUG/ddm-heap(314): Got feature list request
05-02 11:02:44.401: DEBUG/AndroidRuntime(314): Shutting down VM
05-02 11:02:44.411: WARN/dalvikvm(314): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
05-02 11:02:44.422: ERROR/AndroidRuntime(314): Uncaught handler: thread main exiting due to uncaught exception
05-02 11:02:44.481: ERROR/AndroidRuntime(314): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.tmxk/com.tmxk.ComsystemActivity}: java.lang.NullPointerException
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.os.Looper.loop(Looper.java:123)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.app.ActivityThread.main(ActivityThread.java:4363)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at java.lang.reflect.Method.invokeNative(Native Method)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at java.lang.reflect.Method.invoke(Method.java:521)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at dalvik.system.NativeStart.main(Native Method)
05-02 11:02:44.481: ERROR/AndroidRuntime(314): Caused by: java.lang.NullPointerException
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.app.Activity.findViewById(Activity.java:1612)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at com.tmxk.ComsystemActivity.<init>(ComsystemActivity.java:9)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at java.lang.Class.newInstanceImpl(Native Method)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at java.lang.Class.newInstance(Class.java:1479)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
05-02 11:02:44.481: ERROR/AndroidRuntime(314):     ... 11 more
05-02 11:02:44.531: INFO/Process(52): Sending signal. PID: 314 SIG: 3
05-02 11:02:44.531: INFO/dalvikvm(314): threadid=7: reacting to signal 3
05-02 11:02:44.531: ERROR/dalvikvm(314): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
05-02 11:02:53.987: WARN/ActivityManager(52): Launch timeout has expired, giving up wake lock!
05-02 11:02:54.271: WARN/ActivityManager(52): Activity idle timeout for HistoryRecord{44dbc270 com.tmxk/.ComsystemActivity}
05-02 11:02:59.462: DEBUG/dalvikvm(108): GC freed 1845 objects / 102968 bytes in 175ms
05-02 11:07:44.541: INFO/Process(314): Sending signal. PID: 314 SIG: 9
05-02 11:07:44.571: INFO/ActivityManager(52): Process com.tmxk (pid 314) has died.
05-02 11:07:44.611: INFO/UsageStats(52): Unexpected resume of com.android.launcher while already resumed in com.tmxk
05-02 11:07:44.671: WARN/InputManagerService(52): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44cb1c78
因为是新手,希望大家多多指教。

解决方案 »

  1.   

    同学,activity 通常这样写,findViewById在onCreate()函数内部,你试试。public class ComsystemActivity extends Activity {    ImageButton btn1 = null;(ImageButton)findViewById(R.id.ibtn1);
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.first);
            btn1 = (ImageButton)findViewById(R.id.ibtn1);
        }
    }
      

  2.   

    有错误,调试后,代码复制错了,看下面的。public class ComsystemActivity extends Activity {  ImageButton btn1 = null;
      @Override
      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.first);
      btn1 = (ImageButton)findViewById(R.id.ibtn1);
      }
    }