处理多个活动之间的startActivityForResult数据

时间:2016-07-15 07:16:23

标签: android startactivityforresult

我使用Login.class从片段中调用startActivityForResult(Login.class, 1)。如果用户登录成功,那么我将结果设置为1,否则为0.现在,如果用户从Register.class继续Login.class并返回Login.class,那么现在,在成功登录时,它始终是返回结果为1.

检查我的以下示例代码:

MyAccount.java

onCreate
Intent intLogin = new Intent(getActivity(), Login.class);
        startActivityForResult(intLogin, 1);

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);

        Toast.makeText(getActivity(), String.valueOf(resultCode),
                Toast.LENGTH_SHORT).show();
}

Login.java

tvRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                Intent intRegister = new Intent(Login.this, Register.class);
                startActivity(intRegister);

                finish();
            }
        });
on successfull Login :
setResult(1)

所以,如果我没有点击tvRegister并且它返回0,那么它可以正常工作。如果我点击并继续新活动,那么它不起作用,它返回1。

请帮我解决这个问题。

0 个答案:

没有答案