2012-11-06 55 views
0

這裏是我的代碼:獲取強制關閉,使AlertDialog和DialogInterface

btnSendSMS.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      final String phoneNo = txtPhoneNo.getText().toString(); 

      final String message = '\u00AB' + "smsmks" + '\u00BB' + ' ' 
        + txtMessage.getText().toString(); 
      if ((phoneNo.length() > 0) && (message.length() > 0)) { 
       //pilihan, mengirim citra gambar atau tidak 
       final CharSequence[] items = { "Text", "Image" }; 
       AlertDialog.Builder kk = new AlertDialog.Builder(getBaseContext()); 
       kk.setTitle("Pilih Metode Penginputan"); 
       kk.setItems(items, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int x) { 
         Intent i = null; 
         if ("Text".equals(items[x])) { 
          sendSMS(phoneNo, message); 
          Toast.makeText(getBaseContext(), phoneNo, 
            Toast.LENGTH_SHORT).show(); 

         } else { 
          i = new Intent(TulisPesanLontara.this, 
            KonversiGambar.class); 
          startActivity(i); 
         } 
        } 
       }).show(); 

      } else 
       Toast.makeText(getBaseContext(), 
         "Please enter both phone number and message.", 
         Toast.LENGTH_SHORT).show(); 
     } 
    } 

沒有發現錯誤,但是如果我跑了,我點擊的項目,我獲得強制關閉。你能幫我嗎?感謝球員(對不起不好英語)

這裏我logcat的

11-06 15:48:27.658:d/fastDelete(5657):=============結束進程刪除事件============================ 11-06 15:48:28.307:I/fastDelete(5657):!!! fastDelete階段結束了! 11-06 15:48:30.371 D/AndroidRuntime(5657):關閉虛擬機 11-06 15:48:30.371:W/dalvikvm(5657):threadid = 1:線程退出時未捕獲的異常(group = 0x40020648 ) 11-06 15:48:30.373:E/AndroidRuntime(5657):致命例外:主 11-06 15:48:30.373:E/AndroidRuntime(5657):android.view.WindowManager $ BadTokenException:無法添加窗口 - 標記null不適用於應用程序 11-06 15:48:30.373:E/AndroidRuntime(5657):at android.view.ViewRoot.setView(ViewRoot.java:568) 11-06 15:48: 30.373:E/AndroidRuntime(5657):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:209) 11-06 15:48:30.373:E/AndroidRuntime(5657):at android.view.WindowManagerImpl.addView WindowManagerImpl.java:123) 11-06 15:48:30.373:E/AndroidRu ntime(5657):at android.app.Dialog.show(Dialog.java:272) 11-06 15:48:30.373:E/AndroidRuntime(5657):at android.app.AlertDialog $ Builder.show(AlertDialog。 java:849) 11-06 15:48:30.373:E/AndroidRuntime(5657):at com.ariefspekta.smsmakassar.TulisPesanLontara $ 4.onClick(TulisPesanLontara.java:177) 11-06 15:48:30.373:E/AndroidRuntime(5657):at android.view.View.performClick(View.java:2535) 11-06 15:48:30.373:E/AndroidRuntime(5657):at android.view.View $ PerformClick.run(View .java:9130) 11-06 15:48:30.373:E/AndroidRuntime(5657):at android.os.Handler.handleCallback(Handler.java:618) 11-06 15:48:30.373:E/AndroidRuntime (5657):at android.os.Handler.dispatchMessage(Handler.java:123) 11-06 15:48:30.373:E/AndroidRuntime(5657):at android.os.Looper.loop(SourceFile:35 1) 11-06 15:48:30.373:E/AndroidRuntime(5657):at android.app.ActivityThread.main(ActivityThread.java:3850) 11-06 15:48:30.373:E/AndroidRuntime(5657) :在java.lang.reflect.Method.invokeNative(本地方法) 11-06 15:48:30.373:E/AndroidRuntime(5657):在java.lang.reflect.Method.invoke(Method.java:538) 11-06 15:48:30.373:E/AndroidRuntime(5657):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:901) 11-06 15:48:30.373:E/AndroidRuntime (5657):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:659) 11-06 15:48:30.373:E/AndroidRuntime(5657):at dalvik.system.NativeStart.main(Native方法) 11-06 15:48:37.789:I /過程(5657):發送信號。 PID:5657 SIG:9

+0

請添加您的logcat的 – thepoosh

+0

http://stackoverflow.com/a/13245127/ 1487822 –

+0

您是否已將KoversiGamber.class添加到清單中? –

回答

0

只需將getBaseContext()替換爲getApplicationContext()或使用ActivityName.this即可。

0

只是在getBaseContext的地方傳遞整個應用程序的使用getApplicationContext()的參考,因爲getBaseContext只需要特定的活動參考..