2013-10-06 6 views
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); 
    } 
} 

И теперь мы в главном классе, и я не знаю, что делать. До сих пор у меня была только страница Signup, так что это было легко:

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

, но как я могу изменить этот код теперь я есть пользователи, приходящие от Логин, а?

+1

Почему бы не передать значение посредством намерения вашей деятельности? –

+0

Я не понимаю, что вы имеете в виду. –

+1

Посмотрите пункт 3 http://www.vogella.com/articles/AndroidIntent/article.html –

ответ

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); 
+0

это выглядит многообещающим. попробуем это –

+1

это было именно так, как я предложил вам 15 минут назад –

+0

код, который я должен был разместить в классе Home, это то, что мне было нужно в основном :). Я проголосовал за ваши комментарии –

Смежные вопросы