2

Login.classでフラグメントから呼び出していstartActivityForResult(Login.class, 1)ます。ユーザーのログインが成功した場合、結果を 1 または 0 に設定しています。ここで、ユーザーがログインに成功Register.classして現在にLogin.class戻った場合、常に結果が 1 として返されます。以下のサンプル コードを確認してください: MyAccount.javaLogin.class




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();
}

ログイン.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 が返されます。

この問題の解決を手伝ってください。

4

0 に答える 0