все. Я начал писать (1 месяц) приложения Android, и я довольно новичок в этом.
У меня есть действие X. В этом упражнении X у меня есть четыре разные кнопки, которые вызывают четыре разных действия. В этих трех действиях у меня есть кнопка, и я возвращаю данные в действие X после нажатия кнопки. Кроме того, в упражнении X я не могу назвать все три актива. Я мог бы назвать только 1,3 или только 2,3. Я много смотрел, но не смог найти то, что искал.
РЕДАКТИРОВАТЬ: когда я поставил finish();
на мероприятие 1,2,3, я мог вызвать одну из активностей (предположим, что вызвана первая) и может захватывать данные и возвращать действие X, но когда я начал вызывать другое (предполагается, что вызвано действие 2), я мог go выполнить это действие, но я не могу вернуться из него, поскольку оно знает, куда возвращать.
Это то, что я ищу:
Занятие X-> Первое занятие -> вернуть данные1 в X
Упражнение X-> Второе занятие -> вернуть данные2 в X
Занятие X-> 3-е занятие -> вернуть данные3 в X
Занятие X-> отправить данные1 + данные2 + данные3 в 4-е занятие
Я начал свои три действия в Activity X
как в методе onClick
(data_global
глобально для класса X)
case R.id.btn1:
Intent i = new Intent(this, Activity1.class);
startActivityForResult(i, 200);
break;
case R.id.btn2:
i = new Intent(this, Activity2.class);
startActivityForResult(i, 201);
break;
case R.id.btn3:
i = new Intent(this, Activity3.class);
startActivityForResult(i, 202);
break;
case R.id.btn4:
i = new Intent(this, Activity4.class);
i.putExtra("Extra", data_global);
startActivity(i);
break;
Я беру свои данные отсюда Activity X
в onActivityResult
метод:
switch (requestCode) {
case (200): {
if (resultCode == Activity.RESULT_OK) {
if (data.getStringExtra("Extra1").length() != 0) {
data_global += data.getStringExtra("Extra1");
}
}
break;
}
case (201): {
if (resultCode == Activity.RESULT_OK) {
if (data.getStringExtra("Extra2").length() != 0) {
data_global += data.getStringExtra("Extra2");
}
}
break;
}
case (202): {
if (resultCode == Activity.RESULT_OK) {
if (data.getStringExtra("Extra3").length() != 0) {
data_global += data.getStringExtra("Extra3");
}
}
break;
}
И любой код действия 1, 2 или 3 выглядит следующим образом: (X
находится в конце Extra, ссылаясь на 1,2,3)
case R.id.btnSave:
Intent resultIntent = new Intent();
resultIntent.putExtra("ExtraX", "name");
setResult(Activity.RESULT_OK, resultIntent);
finish();
break;
* 10 32 * Как я могу решить мою проблему? Большое спасибо.