2011-04-01 104 views
0

我用下面的代碼顯示在Android上的警報,自定義警報內的警報在android中顯示錯誤?

點擊是的,我需要顯示另一個警報後,

,但我會顯示錯誤。我使用的代碼如下所示,

authalert.setTitle("Save Video"); 
    authalert.setMessage("Do you want to save this Video?"); 
    authalert.setPositiveButton("Yes", new OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 


    LayoutInflater li = LayoutInflater.from(getBaseContext()); 
       View forgotPasswordView =li.inflate(R.layout.forgotpopup, null); 


    AlertDialog.Builder forgotPasswordBuilder = new AlertDialog.Builder(getBaseContext()); 
       forgotPasswordBuilder.setTitle("Forgot Password"); 
       forgotPasswordBuilder.setView(forgotPasswordView); 
    final AlertDialog forgotPasswordDetail = forgotPasswordBuilder.create(); 
       forgotPasswordDetail.show(); 
            } 
            }); 

下面的錯誤,我得到,


04-01 11:33:28.708: ERROR/global(3440): java.lang.UnsupportedOperationException 
04-01 11:33:28.708: ERROR/global(3440):  at java.lang.VMThread.stop(VMThread.java:85) 
04-01 11:33:28.708: ERROR/global(3440):  at java.lang.Thread.stop(Thread.java:1379) 
04-01 11:33:28.708: ERROR/global(3440):  at java.lang.Thread.stop(Thread.java:1344) 

任何人提供一些建議,以恢復這一點。

+0

你是通過代碼並找到有問題的功能嗎? – rajath 2011-04-01 06:21:35

+0

您不應該使用getBaseContext()(根據Android開發人員),請嘗試使用getApplicationContext()。你也只在日誌中看到這個異常嗎? – Karan 2011-04-01 06:48:05

回答

0

移動代碼 LayoutInflater li = LayoutInflater.from(getBaseContext()); 查看forgotPasswordView = li.inflate(R.layout.forgotpopup,null);

AlertDialog.Builder forgotPasswordBuilder = new AlertDialog.Builder(getBaseContext()); forgotPasswordBuilder.setTitle(「忘記密碼」); forgotPasswordBuilder.setView(forgotPasswordView); 最後AlertDialog forgotPasswordDetail = forgotPasswordBuilder.create();

要創建()類,並且在alert中調用forgotPasswordDetail.show(),它的工作正常。