2012-07-27 18 views
0

這是我用過的菜單項選擇代碼:Android的菜單CustomDailog - 應用forcecloses本身

public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case R.id.menu_settings: 
      showDialog(1); 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
     } 
} 

有菜單隻有一個選項,我設計了一個customDialog使用下面的代碼:

protected Dialog onCreateDialog(int id) { 

     Context mContext = getApplicationContext(); 
     Dialog dialog = new Dialog(mContext); 

     dialog.setContentView(R.layout.custom_dialog); 
     dialog.setTitle("About Us"); 

     TextView text = (TextView) dialog.findViewById(R.id.text); 
     text.setText("App Created By: Prateek Garg ([email protected])"); 
     ImageView image = (ImageView) dialog.findViewById(R.id.image); 
     image.setImageResource(R.drawable.logo_resumes); 
     return dialog; 
     } 
} 

問題是,只要我按菜單項「關於我們」,應用程序強行關閉自己。 我無法糾正任何錯誤,但我希望你們可以。

在此先感謝。 PS。我在onCreateOptionsMenu()中創建了menuInflator()。

乾杯

logcat中顯示了以下錯誤:[我DONOT知道該怎麼理解或刪除它們... :(]

07-27 23:35:04.569:W/dalvikvm( 648):線程ID = 1:螺紋與未捕獲的異常(組離開= 0x40a13300)

07-27 23:35:04.659:E/AndroidRuntime(648):致命異常:主

07-27 23: 35:04.659:E/AndroidRuntime(648):android.view.WindowMa nager $ BadTokenException:無法添加窗口 - 令牌null不適用於應用程序

07-27 23:35:04.659:E/AndroidRuntime(648):at android.view.ViewRootImpl.setView(ViewRootImpl.java: 589)

07-27 23:35:04.659:E/AndroidRuntime(648):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:326) 和lott more。

如果你們說的話,我會包括其他的錯誤太多,但我認爲他們只是因爲第1或2的形成就是這種情況一般

+4

Logcat中顯示的錯誤是什麼? – Aerrow 2012-07-27 17:44:08

+1

請再次發佈您在LogCat中看到的錯誤 – 2012-07-27 17:53:33

+0

如果您需要尋求LogCat幫助,請告訴我們。該錯誤將顯示爲紅色。在錯誤消息中查找您的軟件包名稱併發布整個事情。 – 2012-07-27 17:54:11

回答

1

的力接近最有可能空指針異常。實際上有幾種方式可能發生,但很可能其中一個UI元素不可用。這可能是因爲它不在您爲視圖/對話框指定的佈局中,或者因爲您未能爲視圖調用setContentView(R.layout.layoutName)。另一種可能性是像TextView這樣的項目,它沒有指定高度和寬度值。在大多數UI元素中,這是必需的,並且會導致運行時錯誤。爲了看到logcat轉到窗口 - >顯示視圖 - > logcat

運行時錯誤將顯示爲紅色。如果關閉應用程序,它通常會包含致命詞。所以在logcat中轉到了這一點。查找第一行,您看到類似com.mypackage.test.MyActivity或MyDialog的內容。這條線將呈紅色。確保它是一個包含你的包名稱的錯誤,因爲錯誤也會指向很多系統內容。點擊該行,它會將您帶到發生崩潰的代碼中。也發佈錯誤。您應該始終在StackOverflow上發佈錯誤消息。

+0

日誌貓顯示這些錯誤,但我不明白這一點: – 2012-07-27 18:10:19

+0

我已經添加了錯誤... 請看看他們並幫助我... – 2012-07-27 20:19:26

+0

請參閱:http://stackoverflow.com/questions/2634991/android-1-6-android-view-windowmanagerbadtokenexception-unable-to-add-window – 2012-07-27 22:08:00