0

これが私のコードです:

    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): VM のシャットダウン 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はアプリケーション用ではありません5657): android.view.WindowManagerImpl.addView(WindowManagerImpl.java:209) 11-06 15:48:30.373: E/AndroidRuntime(5657): android.view で。Looper.loop(SourceFile:351) 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(Native Method) 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): dalvik.system.NativeStart.main (ネイティブメソッド) 11-06 15:48:37.789: I/Process(5657): シグナルを送信しています。PID: 5657 SIG: 9 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 で。実行 (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): dalvik.system.NativeStart.main(Native Method) 11-06 15:48:37.789: I/Process(5657): シグナルを送信しています。PID: 5657 SIG: 9 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 で。実行 (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): dalvik.system.NativeStart.main(Native Method) 11-06 15:48:37.789: I/Process(5657): シグナルを送信しています。PID: 5657 SIG: 9 (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): dalvik.system で.NativeStart.main(Native Method) 11-06 15:48:37.789: I/Process(5657): シグナルを送信しています。PID: 5657 SIG: 9 (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): dalvik.system で.NativeStart.main(Native Method) 11-06 15:48:37.789: I/Process(5657): シグナルを送信しています。PID: 5657 SIG: 9

4

2 に答える 2

0

getBaseContext は特定のアクティビティ参照のみを取得するため、getBaseContext の場所で getApplicationContext() を使用してアプリケーション全体の参照を渡すだけです。

于 2012-11-06T10:02:03.873 に答える
0

getBaseContext() を getApplicationContext() に置き換えるか、ActivityName.this を使用するだけです。

于 2012-11-06T07:49:55.040 に答える