Есть активность(активность 1), она запускает другую(активность 2), причем передает некие данные влияющие на то что отображает дочерняя активность(активность 2). Эти данные она получает из интента. В свою очередь дочерняя активность(активность 2) запускает другую активность(активность 3). В манифесте активность 3 я прописал тег android:parentName в качестве параметра указал активность 2. И теперь вот в чем проблема. Запуская из активности 1 активность 2 - все хорошо, но если запускать активность 2 из активности 3 кнопкой вверх на панели сверху слева(стрелочка) то активность 2 не получает нужные данные из-за чего не может отобразить данные и происходит ошибка. Сначала я подумал что эту проблему можно решить методами startActivityForResult() и setResult() вроде написал все правильно но что-то не выходит. Либо так не сработает либо я неправильно написал(прошу этот момент уточнить, возможно ли решить эту проблему таким образом). А потом я подумал о том что, должен быть способ переопределить событие при нажатии этой кнопки, но как я не знаю(это второй момент который прошу мне разъяснить).
C учетом замечания @pavlofff меняю ответ.
Если в третьей активности Вы используете android.support.v7.widget.Toolbar toolbar
, то по нажатию на кнопку "Вверх" следующий код вернется ко второй активности, передав ей строку:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("STRING_TO_PASS", "Some string");
setResult(RESULT_OK, intent);
finish();
}
});
}
То есть метод setDisplayHomeAsUpEnabled()
устанавливает картинку "стрелка влево" на левой кнопке, но она по-прежнему остается кнопкой навигации, и слушатель на нее устанавливается методом setNavigationOnClickListener()
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Создаётся массив целых чиселНужно вывести массив в обратном порядке
Во многих приложениях есть возможность оплачивать деньги через Qiwi, WebMoney, Visa ит
Есть контроллер через который проходят все входящие запросы на серверЕсть сервлет для загрузки файлов