2012-07-06 50 views
0

我想弄清楚我的問題在哪裏。 我知道問題是NullPointerException。但我不知道 爲什麼。RuntimeException(ComponentInfo)Nullpointerexception

我只有一個Button來啓動一個活動。

這是引起問題的代碼部分。如果我刪除了startactivity,它的工作正常。 而異常只發生在Intent.Method1成功結束後。

methodtest(parm1); 

try{ 
     startActivity(IntentFactory.Method1(parm1, parm2)); 
    } catch(ActivityNotFoundException e){ 
     showToast(getText(R.string.error1)); 
    } 

這是我的logcat異常。

8月7日至六日:09:03.176:E/AndroidRuntime(2385):了java.lang.RuntimeException:無法啓動活動ComponentInfo {net.apptest.app1/net.apptest.app1.activities.TabbedNavigationActivity} :java.lang.RuntimeException:無法啓動活動ComponentInfo {net.apptest.app1/net.apptest.app1.activities.ExtrasActivity}:java.lang.NullPointerException
07-06 08:09:03.176:E/AndroidRuntime( 2385):引起:java.lang.RuntimeException:無法啓動活動ComponentInfo {net.apptest.app1/net.apptest.app1.activities.ExtrasActivity}:java.lang.NullPointerException
07-06 08:09:03.176 :E/AndroidRuntime(2385):at net.apptest.app1.abstivities.AbstractHttpActivity.registerOnClickListener(AbstractHttpActivit y.java:262)
07-06 08:09:03.176:E/AndroidRuntime(2385):at net.apptest.app1.activities.MainActivity.onCreate(MainActivity.java:309)
07-06 08: 09/03.176:E/AndroidRuntime(2385):at net.apptest.app1.activities.ExtrasActivity.onCreate(ExtrasActivity.java:18)
07-06 08:17:38.779:E/AndroidRuntime(2699):java。 lang.RuntimeException:無法啓動活動ComponentInfo {net.apptest.app1/net.apptest.app1.activities.TabbedNavigationActivity}:java.lang.RuntimeException:無法啓動活動ComponentInfo {net.apptest.app1/net.apptest.app1 .activities.ExtrasActivity}:java.lang.NullPointerException
07-06 08:17:38.779:E/AndroidRuntime(2699):引起:java.lang.RuntimeException:無法啓動活動ComponentInfo {net.apptest.app1/net.apptest.app1。 activities.ExtrasActivity}:顯示java.lang.NullPointerException
8月7日至6日:17:38.779:E/AndroidRuntime(2699):在net.apptest.app1.abstivities.AbstractHttpActivity.registerOnClickListener(AbstractHttpActivity.java:262)
07 -06 08:17:38.779:E/AndroidRuntime(2699):at net.apptest.app1.activities.MainActivity.onCreate(MainActivity.java:309)
07-06 08:17:38.779:E/AndroidRuntime(2699) ):在net.apptest.app1.activities.ExtrasActivity.onCreate(ExtrasActivity.java:18)

262線在AbstractHTTPActivity:

* @param v 
    *   The view an OnClickListener should be registered for 
    * @param id 
    *   The id used to identify the item clicked (<code>ITEM_*</code> 
    *   statics) 
    */ 
    protected void registerOnClickListener(View v, final int id) { 
     v.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       onItemClicked(id); 
      } 
     }); 
    } 

309線在MainActivity:

mDB2S =(按鈕)findViewById(R.id.ButtonDB2S);
registerOnClickListener(mDB2S,ITEM_DB2S);

線18 ExtrasActivity:

超。的onCreate(savedInstanceState);

而且我layout.xml

  <Button 
       android:id="@+id/ButtonDB2S" 
       android:layout_width="fill_parent" 
       android:layout_height="65dp" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="1" 
       android:drawableLeft="@drawable/ic_menu_help" 
       android:text="@string/db2" /> 

這是我IntentFactory.Method1。它只啓動一個視頻,通常沒有問題。我在第二個地方使用這種方法,它毫無例外地工作。 而Methodtest是另一種運行良好的方法,只有startActivity行導致此問題。

public static Intent Method1 (String parm1, String parm2) { 
     Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.parse(parm1), "video/*");  
     return intent; 
    } 

編輯: 我已經debbuged多一點,發現其中NullPointerException異常情況發生。在MainActivity上,我在啓動時將按鈕加載到mDB2,它工作正常。在我退出由IntentFactory.Method1啓動的視頻播放器後,視圖重新加載,這意味着MainActivity再次啓動。但現在mdb2不能找到按鈕,並且是NULL。但在第一次運行它沒有任何問題工作

+0

是什麼IntentFactory.Method1 ??? – 2012-07-06 07:39:28

+0

你在哪裏賦值給'v' – 2012-07-06 07:42:51

+0

你的異常拋出這裏:8月7日至6日:17:38.779:E/AndroidRuntime(2699):在net.apptest.app1.abstivities.AbstractHttpActivity.registerOnClickListener(AbstractHttpActivity.java:262)你也可以顯示這一行嗎? – tolgap 2012-07-06 07:47:34

回答

0

我已經解決了我的問題。解決方案非常簡單,我之前沒有檢查過。 我錯過的按鈕添加到景觀佈局:(

該應用程序的視頻播放器退出,因爲按鈕是在景觀規劃的缺失,我有NullPointerException異常後改變了方向。

對不起,不檢查。在此之前,

相關問題