0

現在のアクティビティを開始したインテントを取得する方法はわかっていますが、ユーザーがログイン ページからアクセスした場合に何かが発生し、サインアップ ページからアクセスした場合に別のことが発生するようにするには、コードをどのように構成すればよいでしょうか?

class Login extends Activity {
public final static String EXTRA_MESSAGE = "net.asdqwe.activities.Login.EXTRA_MESSAGE";

//code here

public void onClick(View arg0) {
        Intent sendLoggedInUserToHomePage = new Intent(getApplicationContext(), Home.class);
        sendLoggedInUserToHomePage.putExtra(EXTRA_MESSAGE,userEmailLoginPage);
        startActivity(sendLoggedInUserToHomePage);
    }

}


}

asd

class Signup extends Activity {
public final static String EXTRA_MESSAGE = "net.asdqwe.activities.Signup.EXTRA_MESSAGE";

//code here

 public void onClick(View arg0) {
        Intent signupSuccessHome = new Intent(getApplicationContext(), Home.class);
        signupSuccessHome.putExtra(EXTRA_MESSAGE, userEmail);
        startActivity(signupSuccessHome);
    }
}

そして今、私たちはホームクラスにいますが、何をすべきかわかりません。今まではサインアップ ページしかなかったので、簡単でした。

Intent loggedInUser = getIntent();
userEmailId = loggedInUser.getStringExtra(Signup.EXTRA_MESSAGE);
userInfo = dbTools.getUserInfo(userEmailId);

しかし、ログインからもユーザーが来ているので、このコードをどのように変更すればよいでしょうか?

4

1 に答える 1

3

以下のコードをホームクラスに追加します

String reqFrom = "";

Bundle b = this.getIntent().getExtras();

if (b != null) 
reqFrom = b.getString("reqFrom");

if(reqFrom.equalsIgnoreCase("login")){
// some action
}
else {
// some other action
}

ログインページに以下のコードを追加します。

Intent sendLoggedInUserToHomePage = new Intent(getApplicationContext(), Home.class);
i.putExtra("reqFrom", "login");
startActivity(sendLoggedInUserToHomePage);
于 2013-10-06T15:52:12.227 に答える