0

我有2个活动和2个文件.xml,在nameActivity中有buttonCancel和buttonNewUser,在SignUpActivity中有buttonBack,当我点击buttonNewUser时它执行SignUpActivity,当我点击buttonBack它回到nameActivity但是当我点击buttonCancel时它是回到 SignUpActivity,就像在绕圈子走一样。

nameActivity 中的代码如下:

Button signUp, cancel;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_name);

    signUp = (Button)findViewById(R.id.buttonNewUser);
    signUp.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
            Intent intent = new Intent(v.getContext(),SignUpActivity.class);
            startActivityForResult(intent, 0);
        }

    });

    cancel = (Button)findViewById(R.id.buttonCancel);
    cancel.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
            System.exit(0);
        }
    });
}

SignUpActivity 中的代码:

按钮返回;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_up);

    back = (Button)findViewById(R.id.btnBackSignUp);
    back.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(v.getContext(),NameActivity.class);
            startActivityForResult(intent, 0);
        }
    });
}

为什么,怎么了?

4

1 回答 1

0

修改您SignUpActivity以使用完成活动而不是再次开始原始活动,因为现在您只是创建一个新的NameActivity.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_up);

    back = (Button)findViewById(R.id.btnBackSignUp);
    back.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
        }
    });
}

另外,不要使用System.exit(). 在 Java 中使用时,您无需在 Android 开发中执行此操作。

于 2013-02-18T17:48:45.867 回答