2012-11-06 2 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(); 
     } 
    } 

오류가 발견,하지만 난 실행하고 난 항목을 클릭하면, 내가 힘 가까운 얻기. 나를 도와 주실 수있으세요? 48 :

11-06 15 여기

내 로그 캣 고마워 (영어 죄송합니다 나쁜) 27.658 : D/(5657) fastDelete : 프로세스 ============= 끝 이벤트 삭제 ================= 11-06 15 : 48 : 28.307 : I/fastDelete (5657) : !!! fastDelete 단계가 끝났습니다 !!! 11-06 15 : 48 : 30.371 : D/AndroidRuntime (5657) : VM 종료 중 11-06 15 : 48 : 30.371 : Dalvikvm (5657) : threadid = 1 : catch되지 않은 예외로 스레드 종료 중 (그룹 = 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) : 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) : android.view.WindowManagerImpl.addView WindowManagerImpl.java:123) 11-06 15 : 48 : 30.373 : E/AndroidRu ntime (5657) : android.app.Dialog.show (Dialog.java:272) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : android.app.AlertDialog $ Builder.show (AlertDialog. java : 849) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : com.ariefspekta.smsmakassar.TulisPesanLontara $ 4.onClick (TulisPesanLontara.java:177) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : android.view.performClick (View.java:2535) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : android.view.View $ PerformClick.run (보기 .java : 9130) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : android.os.Handler.handleCallback (Handler.java:618) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : android.os.Handler.dispatchMessage (Handler.java:123) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : android.os.Looper.loop (SourceFile : 35) 1) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : 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) : com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:901) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : com.android.internal.os.ZygoteInit.main (ZygoteInit.java:659) 11-06 15 : 48 : 30.373 : E/AndroidRuntime (5657) : at dalvik.system.NativeStart.main (네이티브 방법) 11-06 15 : 48 : 37.789 : I/Process (5657) : 보내는 신호. PID : 5657 SIG : 9

+0

당신의 로그 캣 – thepoosh

+0

http://stackoverflow.com/a/13245127/을 추가하시기 바랍니다 .. getBaseContext의 장소에서 전체 응용 프로그램을 사용 getApplicationContext()의 참조를 전달 1487822 –

+0

매니페스트에 KoversiGamber.class를 추가 했습니까? –

답변

0

getBaseContext()를 getApplicationContext()로 대체하거나 ActivityName.this를 사용하십시오. getBaseContext은 특정 활동 기준을 가지고 있기 때문에

0