Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 101
#1

Переопределение кнопки Home - Программирование Android

30.11.2016, 16:49. Просмотров 386. Ответов 9
Метки нет (Все метки)

Как переопределить кнопку HomeButton?

Java
1
2
3
4
        assert getSupportActionBar() != null;
        action_bar = getSupportActionBar();
        action_bar.setHomeButtonEnabled(true);
        action_bar.setDisplayHomeAsUpEnabled(true);
Есть активность с заметкой после редактирования и нажатия кнопки назад заметка должна автоматически сохраниться. Кнопку back я переопределил:

Java
1
2
3
4
5
@Override
    public void onBackPressed() {
        saveFile(FILENAME);
        super.onBackPressed();
    }
А вот как таким же образом переопределить HomeButton?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2016, 16:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переопределение кнопки Home (Программирование Android):

Определить нажатие кнопки Home и кнопки сворачивания приложения
По аналогии с backPressed: @Override public void onBackPressed() { }

Обработка кнопки home
Добрый вечер, как мне обработать случай, когда пользователь нажимает кнопку...

Отловить нажатие кнопки Home
Всем привет! Как отловить нажатие кнопки Home. В onKeyDown не получается.......

Не работает приложение после нажатия кнопки home
Добрый день, дорогие форумчане.:) Волнует такой вопрос - написала приложение...

Повторное воспроизведение музыки после кнопки home (media-player)
Собственно, погуглил, и нашел, что у всех обратная проблема - "как остановить...

Переопределение методов
Здравствуйте! Помогите, пожалуйста разобраться. При вызове метода...

9
vxg
Модератор
3231 / 2034 / 319
Регистрация: 13.01.2012
Сообщений: 7,887
30.11.2016, 19:41 #2
mcGurov, никак, об этом позаботились в гугле. а вам зачем?
1
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 101
30.11.2016, 22:24  [ТС] #3
Цитата Сообщение от vxg Посмотреть сообщение
mcGurov, никак, об этом позаботились в гугле. а вам зачем?
Так затем, что не хочется добавлять кнопку "сохранить", хотелось сделать автоматическое сохранение заметки при закрытии активности. Метод saveFile(FILENAME); хотел запихнуть и в onBackPressed() и при нажатии HomeButton...
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
30.11.2016, 23:00 #4
Цитата Сообщение от mcGurov Посмотреть сообщение
Так затем, что не хочется добавлять кнопку "сохранить", хотелось сделать автоматическое сохранение заметки при закрытии активности.
Функция onUserLeaveHint() отслеживает нажатие кнопки Home.
https://developer.android.com/refere...serLeaveHint())
2
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 101
01.12.2016, 00:03  [ТС] #5
fraley, а вот не хочет срабатывать и всё тут))) Пробовал уже.
Java
1
2
3
4
5
@Override
    protected void onUserLeaveHint() {
        saveFile(FILENAME);
        super.onUserLeaveHint();
    }
0
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 101
01.12.2016, 00:48  [ТС] #6
Может я что-то путаю, но вот эту кнопку надо переопределить...
Переопределение кнопки Home
0
Alex_Fedor
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
01.12.2016, 06:20 #7
Цитата Сообщение от mcGurov Посмотреть сообщение
сделать автоматическое сохранение заметки при закрытии активности.
вам надо в эту сторону смотреть.
https://developer.android.com/refere...ivityLifecycle
1
vxg
Модератор
3231 / 2034 / 319
Регистрация: 13.01.2012
Сообщений: 7,887
01.12.2016, 08:45 #8
mcGurov, в onPause сохраняйте и будет счастье
1
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
01.12.2016, 12:18 #9
Лучший ответ Сообщение было отмечено mcGurov как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class MainActivity extends AppCompatActivity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final ActionBar action_bar = getSupportActionBar();
        if (action_bar != null) {
            action_bar.setHomeButtonEnabled(true);
            action_bar.setDisplayHomeAsUpEnabled(true);
        }
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == android.R.id.home) {
            onBackPressed(); // ну или что там надо делать
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
1
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 101
01.12.2016, 16:44  [ТС] #10
Паблито, спасибо, это сработало)
0
01.12.2016, 16:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2016, 16:44
Привет! Вот еще темы с решениями:

Переопределение подкласса
Гуру ООП, помогите! Запутался окончательно... Возможно ли вообще подобное: ...

Переопределение ViewBinder на C#
Здравствуйте. Пытаюсь сделать урок, только на C# на VS13 с Xamarin. Код...

Переопределение метода в Runtime
Создаем класс именно так BroadcastReceiver receiver = new BroadcastReceiver();...

Переопределение методов класса DialogFragment
Добрый день. Создаю диалог AddingTaskDialogFragment, в котором есть 3...


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

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

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