2014-03-07 76 views
0

这是我的问题。我创建了一个按钮ID:“fibo1”。此按钮属于“CList”活动。单击按钮时,我想打开一个名为“”斐波那契”的在Android应用程序中点击一个按钮打开新的活动

XML另一活动“栏列表的Java上打开“列表中的应用崩溃的

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <Button 
      android:id="@+id/fibo1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:onClick="sendMessage" 
      android:text="Fibo" /> 

栏列表

public class CList extends Activity { 
    Button read1; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.list); 


     read1 = (Button) findViewById (R.id.fibo1); 
     read1.setOnClickListener (new OnClickListener(){ 
      @Override 
      public void onClick (View v){ 
       Intent intent = new Intent (CList.this,Fibonacci.class); 
       startActivity (intent); 
       finish(); 
      } 
     }); 
    } 

'Log Activity给出错误Fatal Exception :main。 我已经将这两项活动都添加到了Android Manifest中。 我只是一个初学者,所以请原谅我,如果我的术语不正确

这里是登录猫

03-07 19:33:29.931: E/AndroidRuntime(19565): FATAL EXCEPTION: main 

03-07 19:33:29.931: E/AndroidRuntime(19565): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.geek.cprogramspopular/com.geek.cprogramspopular.CList}: java.lang.NullPointerException 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.app.ActivityThread.access$700(ActivityThread.java:150) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.os.Handler.dispatchMessage(Handler.java:99) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.os.Looper.loop(Looper.java:137) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.app.ActivityThread.main(ActivityThread.java:5283) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at java.lang.reflect.Method.invokeNative(Native Method) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at java.lang.reflect.Method.invoke(Method.java:511) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at dalvik.system.NativeStart.main(Native Method) 

03-07 19:33:29.931: E/AndroidRuntime(19565): Caused by: java.lang.NullPointerException 

03-07 19:33:29.931: E/AndroidRuntime(19565): at com.geek.cprogramspopular.CList.onCreate(CList.java:23) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.app.Activity.performCreate(Activity.java:5283) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 

03-07 19:33:29.931: E/AndroidRuntime(19565): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) 

03-07 19:33:29.931: E/AndroidRuntime(19565): ... 11 more 
+0

发布您的logcat .. –

+0

发布日志输出? – mach

+0

发布完整的代码和错误日志 –

回答

0

你只是从你的XML文件中删除这条线,你需要不完的意图呼唤你的活动......

android:onClick="sendMessage" 
read1.setOnClickListener (new OnClickListener(){ 
     @Override 
     public void onClick (View v){ 
      Intent intent = new Intent (CList.this,Fibonacci.class); 
      startActivity (intent);     
     } 
    }); 
+0

我试过了。问题依然存在。我认为问题出在'Clist'布局上,Eclipse中对它所做的更改没有反映在应用程序中。 – John918

0

使用以下码 -

public void sendMessage(View v) { 

    Intent intent = new Intent(CList.this, Fibonacci.class); 
    startAcitivty(intent); 
} 

onCreate(Bundle savedInstanceState)方法取而代之, -

read1.setOnClickListener (new OnClickListener(){ 
     @Override 
     public void onClick (View v){ 
      Intent intent = new Intent (CList.this,Fibonacci.class); 
      startActivity(intent); 
      finish(); 
} 

在完成此操作后,您还可以删除Button read1;read1 = (Button) findViewById (R.id.fibo1);

+0

这不是问题所在。我设法找到了一个解决办法。不管怎么说,还是要谢谢你。 – John918

相关问题