Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

передача результата в onActivityResult - Программирование Android

10.10.2013, 22:28. Просмотров 1104. Ответов 4
Метки нет (Все метки)

Скажи пожалуйста.

У меня есть 3 активити. Из первой активити я вызываю активность номер2 с помощью старт АктивитиФоРезалт. В свою очередь 2 активность после выполнения всех действий запускает 3 активность и сама 2 активность закрывается с помощью finish(). После того когда я закрою 3 активность, мне необходимо чтобы онАктивити резалт в первой активити получил значение OK, но он их не получает, а получает CANCEL.

Как передать результа RESULT_OK из 3 активити в первую.???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 22:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос передача результата в onActivityResult (Программирование Android):

OnActivityResult - Программирование Android
Есть класс Photo public class Photo { Uri mUri; Activity ac; public static final int PHOTO_INTENT_REQUEST_CODE = 100; ...

OnActivityResult For Fragment - Программирование Android
Помогите решить проблему. У меня есть ListFragment который отображает фотки из бд и кнопка которая запускает стандартное приложения для...

OnActivityResult и FragmentActivity - Программирование Android
Добрый день. Мучился вчера весь день, но так и не одолел проблему. Предыстория: Проект сделан на основе обычной Activity. В ней есть...

OnActivityResult() внутри Dialog - Программирование Android
Создаю кастомный диалог: MyDialog = new Dialog(this); MyDialog.setContentView(R.layout.search); По нажатию в диалоге кнопки...

OnActivityResult из сервис во фрагмент - Программирование Android
Здравствуйте,есть акивити которая запускает мой сервис. после запуска, сервис должен отослать данные во фрагмент. по логам показывает...

onActivityResult для Fragment - Программирование Android
public class General_Activity extends FragmentActivity { public class TitleAdapter extends FragmentPagerAdapter { private final...

4
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.10.2013, 22:50 #2
Java
1
setResult(RESULT_OK);
возвращает Result той активити, которая ее вызвала.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
10.10.2013, 23:24  [ТС] #3
я использую:
Java
1
2
Intent intent = new Intent();
setResult(RESULT_OK, intent);
и это не работает!

а вы предлагаете сделать:
Java
1
2
Intent intent = new Intent();
setResult(RESULT_OK);
т.е. убрать слово intent, правильно я Вас понял?
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
11.10.2013, 00:04 #4
Пересмотрите архитектуру приложения, если, конечно, она вообще есть.

ActivityOne
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class ActivityOne extends Activity {
    
    public static final int REQUEST_CODE = 666;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        startActivityForResult(new Intent(this, ActivityTwo.class), REQUEST_CODE);
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == REQUEST_CODE) {
            Log.d("ActivityOne", data.getStringExtra("ActivityName") + "");
        }
    }
}


ActivityTwo
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class ActivityTwo extends Activity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        startActivityForResult(new Intent(this, ActivityThree.class), ActivityOne.REQUEST_CODE);
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == ActivityOne.REQUEST_CODE) {
            setResult(resultCode, data);
            finish();
        }
    }
 
}


ActivityThree
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class ActivityThree  extends Activity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent i = getIntent();
        i.putExtra("ActivityName", ActivityThree.class.getName());
        setResult(RESULT_OK, i);
        finish();
    }
 
}
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.10.2013, 00:35 #5
Цитата Сообщение от Stylish2013 Посмотреть сообщение
т.е. убрать слово intent, правильно я Вас понял?
т.е. передавать по цепочке как Netscape или пересмотреть архитектуру приложения.
0
11.10.2013, 00:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2013, 00:35
Привет! Вот еще темы с ответами:

Два onActivityResult в одной Activity - Программирование Android
Понимаю что видимо это не реально, но тем не менее. Ситуация в Activity уже есть onActivityResult а теперь в той же Activity требуется...

Передача результата выполнения функции - C++
int search() // эта функция ищет индекс { for (int i = 0; i < 4; i++) { ... } } int add(int a) // сюда он...

Передача в качестве параметра результата запроса - Oracle
Сразу признаюсь - я ничего пока еще не понимаю в программировании под Oracle. Суть моей проблемы такова: - имеется функция,...

Передача результата запроса LINQ в представление - C# MVC
Добрый день! В контроллере есть такой код ViewBag.OperationCodes = operations.Select(p => new {textcode = p.textcode,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru