我想弄清楚我的問題在哪裏。 我知道問題是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。但在第一次運行它沒有任何問題工作
是什麼IntentFactory.Method1 ??? – 2012-07-06 07:39:28
你在哪裏賦值給'v' – 2012-07-06 07:42:51
你的異常拋出這裏: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