0

連絡先を表示、編集、作成するために を書きました。emulator でコードを実行すると、名前を入力できますが、他の Edit Text に切り替えることができず、エミュレーターがフリーズします。切り替えても、戻るボタンを押すことしかできません。これが私のコードです。デバッグを手伝ってください。私はアンドロイドプログラミングが初めてです。すべての提案を歓迎します。

public class AddNewContact extends Activity implements OnClickListener {
    Button Save;
    EditText Newname, NewPersonalPhone, NewHomePhone, NewOfficePhone;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.newcontact);
        initialize();
    }

    private void initialize() {
        // TODO Auto-generated method stub
        Save = (Button) findViewById(R.id.bSaveContact);
        Save.setOnClickListener(this);
        Newname = (EditText) findViewById(R.id.newname);
        Newname.setOnClickListener(this);
        NewPersonalPhone = (EditText) findViewById(R.id.newpersonalphone);
        NewPersonalPhone.setOnClickListener(this);
        NewHomePhone = (EditText) findViewById(R.id.newhomephone);
        NewHomePhone.setOnClickListener(this);
        NewOfficePhone = (EditText) findViewById(R.id.newofficephone);
        NewOfficePhone.setOnClickListener(this);

    }

    public void onClick(View v) {
        boolean didItWork = true;
        // TODO Auto-generated method stub
        try {
            String nname = Newname.getText().toString();
            String npphone = NewPersonalPhone.getText().toString();
            String nhphone = NewHomePhone.getText().toString();
            String nophone = NewOfficePhone.getText().toString();


            DBContact newentry = new DBContact(AddNewContact.this);
            newentry.open();
            newentry.newRow(nname, npphone, nhphone, nophone);
            newentry.close();

        } catch (Exception e) {
            didItWork = false;
            String error = e.toString();
            Dialog display = new Dialog(this);
            display.setTitle("ERROR");
            TextView text = new TextView(this);
            text.setText(error);
            display.setContentView(text);
            display.show();
        } finally {
            if (didItWork) {
                Dialog display = new Dialog(this);
                display.setTitle("CONTACT SAVED!");
                TextView text = new TextView(this);
                text.setText("Sucess");
                display.setContentView(text);
                display.show();
            //  startActivity(new Intent("CONTACTS.class"));
            }
        }
    }

}

ログキャット

09-26 02:58:35.518: E/WindowManager(1913): Activity com.example.contactlist.AddNewContact has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@41236e28 that was originally added here
09-26 02:58:35.518: E/WindowManager(1913): android.view.WindowLeaked: Activity com.example.contactlist.AddNewContact has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@41236e28 that was originally added here
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewRootImpl.<init>(ViewRootImpl.java:374)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:292)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.Window$LocalWindowManager.addView(Window.java:547)
09-26 02:58:35.518: E/WindowManager(1913):  at android.app.Dialog.show(Dialog.java:277)
09-26 02:58:35.518: E/WindowManager(1913):  at com.example.contactlist.AddNewContact.onClick(AddNewContact.java:56)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.View.performClick(View.java:4084)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.View.onKeyUp(View.java:7669)
09-26 02:58:35.518: E/WindowManager(1913):  at android.widget.TextView.onKeyUp(TextView.java:5382)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.KeyEvent.dispatch(KeyEvent.java:2633)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.View.dispatchKeyEvent(View.java:7086)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358)
09-26 02:58:35.518: E/WindowManager(1913):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1892)
09-26 02:58:35.518: E/WindowManager(1913):  at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1369)
09-26 02:58:35.518: E/WindowManager(1913):  at android.app.Activity.dispatchKeyEvent(Activity.java:2356)
09-26 02:58:35.518: E/WindowManager(1913):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1819)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3575)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewRootImpl.deliverKeyEvent(ViewRootImpl.java:3531)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3113)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4153)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4132)
09-26 02:58:35.518: E/WindowManager(1913):  at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2930)
09-26 02:58:35.518: E/WindowManager(1913):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-26 02:58:35.518: E/WindowManager(1913):  at android.os.Looper.loop(Looper.java:137)
09-26 02:58:35.518: E/WindowManager(1913):  at android.app.ActivityThread.main(ActivityThread.java:4745)
09-26 02:58:35.518: E/WindowManager(1913):  at java.lang.reflect.Method.invokeNative(Native Method)
09-26 02:58:35.518: E/WindowManager(1913):  at java.lang.reflect.Method.invoke(Method.java:511)
09-26 02:58:35.518: E/WindowManager(1913):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
09-26 02:58:35.518: E/WindowManager(1913):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-26 02:58:35.518: E/WindowManager(1913):  at dalvik.system.NativeStart.main(Native Method)
4

1 に答える 1

1

Do you need setOnClickListener()

for even edittexts?

why are you trying to use setOnClickListener() on edittexts. Is there any special reason for this?

once try to remove them and just use setOnClickListener() for button and run the logic. If you have any special reason for using setOnClickListener() for edittext explain it once

于 2012-09-26T16:15:04.403 に答える