2012-01-09 119 views
1

我有一個ActivityButton,其中Intent是相對於Activity如何啓動。以前ActivityListView是通過額外的這個ActivityButton點擊Intents定義不同的值。請看下面的代碼。App Force在按鈕單擊時關閉

public class ContentViewer extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Bundle bundle = this.getIntent().getExtras(); 
    int chooser = bundle.getInt("Layout"); 

    switch(chooser) { 
    case 0: 
     setContentView(R.layout.about); 
     break; 

    case 1: 
     setContentView(R.layout.contact); 
     break; 

    case 2: 
     setContentView(R.layout.contentviewer); 
     break; 

    case 3: 
     setContentView(R.layout.contact); 
     break; 

    case 4: 
     setContentView(R.layout.contact); 
     break; 

    case 5: 
     setContentView(R.layout.contact); 
     break; 

    case 6: 
     setContentView(R.layout.contact); 
     break; 

    case 7: 
     setContentView(R.layout.contact); 
     break; 

    case 8: 
     setContentView(R.layout.contact); 
     break; 

    case 9: 
     setContentView(R.layout.contact); 
     break; 
    } 

    final int linker = bundle.getInt("Layout"); 
    Button vlink = (Button)findViewById(R.id.videolink); 
    vlink.setOnClickListener(new View.OnClickListener() { 
     @Override 
      public void onClick(View view) { 
       switch(linker) { 
      case 0: 
       Intent v0 = new Intent(Intent.ACTION_VIEW, 
         Uri.parse("vnd.youtube://" + "0lh_UWF9ZP4")); 
         startActivity(v0); 
       break; 
      case 1: 
       Intent v1 = new Intent(Intent.ACTION_VIEW, 
         Uri.parse("vnd.youtube://" + "0lh_UWF9ZP4")); 
         startActivity(v1); 
       break; 
      case 2: 
       Intent v2 = new Intent(Intent.ACTION_VIEW, 
         Uri.parse("vnd.youtube://" + "0lh_UWF9ZP4")); 
         startActivity(v2); 
       break; 
      } 
     } 
    }); 
} 
} 

每當我點擊按鈕,應用程序強制關閉。我不知道我的錯誤可能在哪裏。繼承人錯誤日誌;

01-10 00:03:40.895: W/dalvikvm(5759): threadid=1: thread exiting with uncaught exception (group=0x40c271f8) 
01-10 00:03:40.900: E/AndroidRuntime(5759): FATAL EXCEPTION: main 
01-10 00:03:40.900: E/AndroidRuntime(5759): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.borislemke.cookingwithdog/com.borislemke.cookingwithdog.ContentViewer}: java.lang.NullPointerException 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.app.ActivityThread.access$600(ActivityThread.java:127) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.os.Looper.loop(Looper.java:137) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.app.ActivityThread.main(ActivityThread.java:4507) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at java.lang.reflect.Method.invoke(Method.java:511) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at dalvik.system.NativeStart.main(Native Method) 
01-10 00:03:40.900: E/AndroidRuntime(5759): Caused by: java.lang.NullPointerException 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at com.borislemke.cookingwithdog.ContentViewer.onCreate(ContentViewer.java:61) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.app.Activity.performCreate(Activity.java:4465) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932) 
01-10 00:03:40.900: E/AndroidRuntime(5759):  ... 11 more 
+0

會很好,如果有人能解釋這種情況! :) – borislemke 2012-01-09 23:11:31

+0

行61中的東西是'null',不應該是。哪一條是61號線? – 2012-01-09 23:13:19

+0

「ContentViewer.java」的第61行是什麼? – kabuko 2012-01-09 23:13:29

回答

2

你在具有ID「錄象」您的XML佈局有一個按鈕?您的vLink按鈕爲空,因爲它找不到要映射到的UI元素。你能粘貼布局xml嗎?

我不熟悉你與選配做什麼 - 是不是有你想從包含該按鈕開始加載一個佈局?

+0

似乎這是一個錯字!Duhh,多麼尷尬..好吧,發現問題。它適用於第2項和第3項,但在第1種情況下膨脹的佈局中,按鈕ID錯誤地輸入了 – borislemke 2012-01-09 23:24:18

+0

並且謝謝你的回答!從現在起更仔細地工作..我真的很抱歉給大家! – borislemke 2012-01-09 23:26:06

+0

很高興聽到!:) – 2012-01-13 20:12:08

3

vlink爲空。這可能是因爲它不在你導致崩潰的任何佈局中。

+0

但也有在屏幕上沒有錯誤,我應該怎麼知道解決什麼:?的 – borislemke 2012-01-09 23:16:57

+1

因爲它在你的堆棧跟蹤看看你的佈局,無論你一個。 '開放導致這次崩潰我相當肯定沒有一個按鈕與id'videolink' – kabuko 2012-01-09 23:21:26

+0

謝謝,這似乎是一個錯字佈局是完全正確的按鈕ID錯過了一封信! – borislemke 2012-01-09 23:27:03