Могу ли я иметь действие, создать другое действие и ждать, пока оно вернет информацию? - PullRequest
0 голосов
/ 10 февраля 2012

Я хочу, чтобы пользователь мог нажимать кнопку и переходить к другому виду деятельности для ввода некоторой информации, а затем нажимать кнопку, чтобы "отправить" эту информацию на предыдущий экран.

Главный экран - кнопка нажмите -> Экран ввода - «отправить» -> Главный экран

Есть ли способ запустить действие экрана ввода и дождаться ответа на главном экране? Это код, который у меня есть сейчас.

Intent inputIntent = new Intent(this, InputActivity.class);
try {
    // Attempt to start the activity
    startActivity(inputIntent);
    return true;
} catch(ActivityNotFoundException e) {
    System.out.println("Cannot find activity for intent: " + inputIntent.toString());
    return false;
}

Я предполагаю, что я не только спрашиваю, как заставить домашний экран "ждать", но также было бы идеально , чтобы вернуться на тот же домашний экран (не создавая НОВЫЙ домашний экран из экрана ввода. ).

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Да.Звоните startActivityForResult(), чтобы запустить второе действие, а внутри второго действия, звоните finish(), чтобы вернуться к первому.Во втором упражнении вызовите setResult(), чтобы установить результат, который будет возвращен вызывающей стороне, и вернитесь к первому действию, в котором вы получите результат в onActivityResult(). Этот раздел документов расскажет вам больше.

Этот учебник проведет вас по шагам, и быстрый поиск вызовет много похожих учебников.

1 голос
/ 10 февраля 2012

Прелесть в том, что ваш дом Activity не должен ждать , но может отреагировать на результат вашей активности по редактированию текста.

Я уверен, что вы проверили, но я предлагаю вам прочитать жизненный цикл Активность и попытаться понять немного больше.

Последним преимуществом для вас может быть startActivityForResult ()

Удачи

...