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 が返されます。
この問題の解決を手伝ってください。