好像是运行到 
Log.v(ATG, "onclick haved111111 ");
  super.onCreate(savedInstanceState);
  setContentView(R.layout.handclock2);
Button backButton = (Button)findViewById(R.id.returnMain1);
Log.v(ATG, "onclick haved22222222 ");
这出错的,因为输出了onclick haved111111  和 onclick haved22222222 
没有输出 :onclick haved3333333333 
本人初学,为什么在主界面就可以加监听,在其他的界面里就不能加呢,应该是这个错吧。

解决方案 »

  1.   

    按照你的说法,
    我觉得...你TestHandClock2中的OnClick,只需要调用finish()就好了,不需要再去启动一个新的intent。
      

  2.   

    如果是
    Button backButton = (Button)findViewById(R.id.returnMain1);
    这里出错的话,多半是没有找到在handclock2中没有找到returnMain1这个ID
    你在去看看你的Layout...同时,你最好看一下系统的Log,看一下具体的错误原因是什么。
      

  3.   

    调用finish() ? 我看主界面中用的是启动一个intent,就生搬硬套了,你是说掉了finish()就是结束掉这个界面,然后就自动回到原来的界面了吗?还有,我想着的是界面之间的切换,我还有一个界面,clock2,是不是转到那个界面的时候要启动一个新的intent呢?
      

  4.   

    package net.blogjava.mobile;import android.app.Activity;
    import android.app.AlarmManager;
    import android.app.PendingIntent;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;public  class TestHandClock2 extends Activity implements OnClickListener{
    String ATG = "KKKKKKKKK";
       
        @Override
        public void onCreate(Bundle savedInstanceState) {
         Log.v(ATG, "onclick haved111111 ");
            super.onCreate(savedInstanceState);
            setContentView(R.layout.handclock2);
    Button backButton = (Button)findViewById(R.id.returnMain1);
    Log.v(ATG, "onclick haved22222222 ");
    backButton.setOnClickListener(this);
    Log.v(ATG, "onclick haved3333333333 ");
        } @Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub

    /*Intent intent = null;
    intent = new Intent(this, Main.class);
    Log.v(ATG, "onclick haved44444 ");
    startActivity(intent);*/
    Log.v(ATG, "onclick haved44444 ");
    finish();
    Log.v(ATG, "onclick haved44444 ");
    }
    }
    改了,还是提示出错,没去调用onClick(),顺便问一句,怎么看log,看了不懂,就知道自己输出的测试代码输出了两行,再onClick()函数里想输出的代码没输出,所以就判断说是没执行onClick()。
      

  5.   

    09-28 03:47:19.494: DEBUG/dalvikvm(284): VM cleaning up
    09-28 03:47:19.523: ERROR/AndroidRuntime(284): ERROR: thread attach failed
    09-28 03:47:19.594: DEBUG/dalvikvm(284): LinearAlloc 0x0 used 639500 of 5242880 (12%)
    09-28 03:47:19.774: DEBUG/ddm-heap(290): Got feature list request
    09-28 03:47:19.914: INFO/ARMAssembler(52): generated scanline__00000177:03515104_00000001_00000000 [ 73 ipp] (95 ins) at [0x4990d0:0x49924c] in 468949 ns
    09-28 03:47:19.953: INFO/ARMAssembler(52): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x499250:0x49935c] in 462650 ns
    09-28 03:47:20.184: INFO/ARMAssembler(52): generated scanline__00000077:03010104_00000004_00000000 [ 22 ipp] (41 ins) at [0x499360:0x499404] in 509195 ns
    09-28 03:47:20.453: INFO/ActivityManager(52): Displayed activity net.blogjava.mobile/.Main: 1015 ms (total 1015 ms)
    09-28 03:47:21.533: INFO/ActivityManager(52): Starting activity: Intent { cmp=net.blogjava.mobile/.TestHandClock2 }
    09-28 03:47:21.603: VERBOSE/KKKKKKKKK(290): onclick haved111111 
    09-28 03:47:21.653: VERBOSE/KKKKKKKKK(290): onclick haved22222222 
    09-28 03:47:21.663: DEBUG/AndroidRuntime(290): Shutting down VM
    09-28 03:47:21.663: WARN/dalvikvm(290): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
    09-28 03:47:21.673: ERROR/AndroidRuntime(290): Uncaught handler: thread main exiting due to uncaught exception
    09-28 03:47:21.683: ERROR/AndroidRuntime(290): java.lang.RuntimeException: Unable to start activity ComponentInfo{net.blogjava.mobile/net.blogjava.mobile.TestHandClock2}: java.lang.NullPointerException
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.os.Handler.dispatchMessage(Handler.java:99)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.os.Looper.loop(Looper.java:123)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.app.ActivityThread.main(ActivityThread.java:4363)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at java.lang.reflect.Method.invokeNative(Native Method)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at java.lang.reflect.Method.invoke(Method.java:521)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at dalvik.system.NativeStart.main(Native Method)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290): Caused by: java.lang.NullPointerException
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at net.blogjava.mobile.TestHandClock2.onCreate(TestHandClock2.java:23)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
    09-28 03:47:21.683: ERROR/AndroidRuntime(290):     ... 11 more
    09-28 03:47:21.714: INFO/Process(52): Sending signal. PID: 290 SIG: 3
    09-28 03:47:21.714: INFO/dalvikvm(290): threadid=7: reacting to signal 3
    09-28 03:47:21.714: ERROR/dalvikvm(290): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
    09-28 03:47:23.063: INFO/Process(290): Sending signal. PID: 290 SIG: 9
    09-28 03:47:23.093: INFO/WindowManager(52): WIN DEATH: Window{43d1e5b0 net.blogjava.mobile/net.blogjava.mobile.Main paused=false}
    09-28 03:47:23.093: INFO/ActivityManager(52): Process net.blogjava.mobile (pid 290) has died.
    09-28 03:47:23.143: INFO/ActivityManager(52): Start proc net.blogjava.mobile for activity net.blogjava.mobile/.Main: pid=297 uid=10025 gids={1015}
    09-28 03:47:23.463: DEBUG/ddm-heap(297): Got feature list request
    09-28 03:47:23.543: INFO/UsageStats(52): Unexpected resume of net.blogjava.mobile while already resumed in net.blogjava.mobile
    09-28 03:47:23.563: INFO/ActivityManager(52): Displayed activity net.blogjava.mobile/.Main: 460 ms (total 1979 ms)
    09-28 03:47:23.883: WARN/InputManagerService(52): Got RemoteException sending setActive(false) notification to pid 290 uid 10025
    09-28 03:47:24.833: WARN/KeyCharacterMap(297): No keyboard for id 0
    09-28 03:47:24.843: WARN/KeyCharacterMap(297): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
      

  6.   

    09-28 03:47:21.683: ERROR/AndroidRuntime(290): java.lang.RuntimeException: Unable to start activity ComponentInfo{net.blogjava.mobile/net.blogjava.mobile.TestHandClock2}: java.lang.NullPointerException
      

  7.   

    应该是没找到 backButton 导致的....
      

  8.   

    是这个样子的,我把  backButton.setOnClickListener(this); 这句话注释掉的话,是可以转到handclock2的,所以layout应该是没有错的,错就错在加监听事件上吧。
      

  9.   


    Button backButton = (Button)findViewById(R.id.returnMain1);
    Log.v(ATG, "onclick haved22222222 ");但是程序输出了 : onclick haved22222222  啊,应该是找到了吧?
      

  10.   

    刚测试了,是这个的过,怎么会没找到呢?
    这个是 layout中的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"
      android:background = "#FFF"
      android:gravity = "center">
      <net.blogjava.mobile.widget.HandClock
      android:layout_width = "wrap_content" 
      android:layout_height = "wrap_content"
      android:layout_marginTop = "10dp"
      clockImageSrc = "@drawable/clock2"
      scale = "0.3"
      handCenterWidthScale = "0.5"
      handCenterHeightScale = "0.5"
      minuteHandSize = "154"
      hourHandSize = "100"
      />
      <net.blogjava.mobile.widget.HandClock
      android:layout_width = "wrap_content" 
      android:layout_height = "wrap_content"
      android:layout_marginTop = "10dp"
      clockImageSrc = "@drawable/clock3"
      scale = "0.3"
      handCenterWidthScale = "0.5"
      handCenterHeightScale = "0.5"
      minuteHandSize = "154"
      hourHandSize = "100"
      />
      <Button android:id = "@+id/returnMain2"
      android:layout_width = "150dp"
      android:layout_height = "40dp"
      android:text = "返回主页面"
      />
    </LinearLayout>