2012-03-01 31 views
0

我已經創建了一個關於數獨的關於按鈕並設置了OnClickListener上,使類叫About.java和about.xml並添加...........在清單.XML關於單擊時發生錯誤的按鈕

About.java

package org.example.btg; 

import android.app.Activity; 
import android.os.Bundle; 

public class About extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.about); 
    } 
} 

about.xml

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

<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dip" > 
    <TextView 
     android:id="@+id/about_content" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/about_text" /> 
</ScrollView> 

的Manifest.xml

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="org.example.btg" 
    android:versionCode="1" 
    android:versionName="1.0" > 

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

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".BrainTrainingGame" 
     android:label="@string/app_name" > 
    <activity android:name=".About" 
     android:label="@string/about_title" > 
    </activity> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"> 
      </action> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     </activity> 
    </application> 
</manifest> 

btg.java

View aboutButton = findViewById(R.id.about_button); 
aboutButton.setOnClickListener((OnClickListener) this); 
View exitButton = findViewById(R.id.exit_button); 
exitButton.setOnClickListener((OnClickListener) this); 
} 

public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.about_button: 
     Intent i = new Intent(this, About.class); 
     startActivity(i); 
     break; 

當錯誤出現如下的logcat的出現:

03-01 12:16:51.062: D/AndroidRuntime(684): Shutting down VM 
03-01 12:16:51.062: W/dalvikvm(684): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
03-01 12:16:51.126: E/AndroidRuntime(684): FATAL EXCEPTION: main 
03-01 12:16:51.126: E/AndroidRuntime(684): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.example.btg/org.example.btg.BrainTrainingGame}: java.lang.NullPointerException 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.os.Looper.loop(Looper.java:123) 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.app.ActivityThread.main(ActivityThread.java:4627) 
03-01 12:16:51.126: E/AndroidRuntime(684): at java.lang.reflect.Method.invokeNative(Native Method) 
03-01 12:16:51.126: E/AndroidRuntime(684): at java.lang.reflect.Method.invoke(Method.java:521) 
03-01 12:16:51.126: E/AndroidRuntime(684): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
03-01 12:16:51.126: E/AndroidRuntime(684): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
03-01 12:16:51.126: E/AndroidRuntime(684): at dalvik.system.NativeStart.main(Native Method) 
03-01 12:16:51.126: E/AndroidRuntime(684): Caused by: java.lang.NullPointerException 
03-01 12:16:51.126: E/AndroidRuntime(684): at org.example.btg.BrainTrainingGame.onCreate(BrainTrainingGame.java:21) 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
03-01 12:16:51.126: E/AndroidRuntime(684): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
03-01 12:16:51.126: E/AndroidRuntime(684): ... 11 more 
03-01 12:21:51.292: I/Process(684): Sending signal. PID: 684 SIG: 9 

幫助wouldbe不勝感激!

它仍然無法正常工作。

+0

什麼erorr烏爾得到 – Maneesh 2012-03-01 11:48:27

+0

它說:「BTG設備意外停止」,並有一個「強制關閉」按鈕 – 2012-03-01 12:03:07

+0

,請複製粘貼你從這個錯誤得到logcat的。 – 2012-03-01 12:13:47

回答

0

您需要移動清單中的關於部分。你不能有另一個活動中定義的活動:

<activity 
    android:name=".BrainTrainingGame" 
    android:label="@string/app_name" > 

    <intent-filter> 
    <action android:name="android.intent.action.MAIN"> 
    </action> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
<activity android:name=".About" 
    android:label="@string/about_title" > 
</activity> 
+0

我已經這樣做了,但現在當我運行它不顯示按鈕,我已經創建了,並說「BTT已經意外停止」 – 2012-03-01 11:56:17

+0

謝謝你的所有幫助猜我有一個語法錯誤大聲笑 – 2012-03-02 15:37:09

相關問題