2013-08-01 1 views
2

У меня есть две активности активности первой активности, а вторая страница активности - подтверждение. После подтверждения, она должна вернуться на первую страницу, как я должен обрабатывать этот сценарий?Как реализовать механизм обратного вызова между Activites

Возможно ли между действиями, а не с использованием фрагментов?

+2

используйте 'startActivityForResult();' для отправки ответа от вашего дочернего 'Activity' на его родительский элемент. – hardartcore

ответ

6

вы должны использовать startActivityForResult(); метод, когда вы начинаете secondActivity.

и вы также должны реализовать метод onActivityResult().

Вот код для первой деятельности ..

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

    if (resultCode == 1) { 
     Bundle extra = data.getExtras(); 
     String ID = extra.getString("NameKey").trim(); 
     // do your code here. 

    } 
} 

код во втором активность ..

добавить код на кнопку подтверждения щелчка.

Intent i = new Intent(); 
    Bundle extra = new Bundle(); 
    extra.putString("NameKey", KeyValue); 

    i.putExtras(extra); 
    setResult(1, i); 
    finish(); 
1

Я считаю, призывая закончить() это самый простой способ, чтобы вернуться из деятельности. Он должен вернуться к предыдущему, как если бы вы нажали кнопку «Назад».

Редактирование: Хотя, как упоминал Сиргейт, startActivityForResult, вероятно, лучше всего, если вы хотите вернуть данные.

3

Это может поможет вам

Это один FirstActivity

Intent i = new Intent(this, SecondActivity.class); 
startActivityForResult(i, 1); 

например: А secondActivity если вы хотите отправить данные обратно

Intent returnIntent = new Intent(); 
returnIntent.putExtra("result",result); 
setResult(RESULT_OK,returnIntent);  
finish(); 

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

  • Нет связанных вопросов^_^