Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/47: Рейтинг темы: голосов - 47, средняя оценка - 4.98
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20

Кнопка "Back" для приложения

11.06.2014, 23:22. Показов 9841. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня есть несколько форм и мне необходима кнопка которая будет возвращать меня к предыдущей форме я не знаю как это сделать кто знает подскажите
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2014, 23:22
Ответы с готовыми решениями:

Кнопка back
Здравствуйте, не могу сделать так, чтобы по нажатию на кнопку back, экран возвращался к предыдущему layout. Сейчас при нажатии на back,...

кнопка Back
можно ли сделать так чтобы при нажатию на кнопку back не происходило удаление(закрытие активити) ?? можно ли как то так переопределить...

Кнопка Back
Добрый вечер, что мне написать чтоб при нажатии кнопки Back я переходил в основной активити, а не в предыдущий? При использовании Intent ...

11
0 / 0 / 1
Регистрация: 11.06.2014
Сообщений: 10
11.06.2014, 23:27
Form2->Hide();
Form1->Show();
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
11.06.2014, 23:57
Цитата Сообщение от sanekrsa Посмотреть сообщение
Form2->Hide();
Form1->Show();
Не путайте новичка сишными командами...

Попробуйте закрыть текущую форму:
finish();

Можно даже в кнопке Бэк:
Java
1
2
3
4
    @Override
    public void onBackPressed() {
        finish();
    }
1
 Аватар для Bloodleon
1 / 1 / 0
Регистрация: 21.09.2012
Сообщений: 42
12.06.2014, 09:14
Сам я кодю 1 день, и ничего толком не знаю, но если бы мне понадобилось, я бы реализовал так
Java
1
2
3
4
5
switch (view.getId())
                {
                    case R.id.button:
                        Intent intent = new Intent(this, MainActivity.class);
                                startActivity(intent);
то же самое что и переход на новый Activity, только указываем на какой именно назад нам надо попасть, в случае если их несколько =)
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
12.06.2014, 10:50
Цитата Сообщение от Bloodleon Посмотреть сообщение
кодю 1 день
Для "однодневного" новичка Вы слишко хорошо разбираетесь!
Я кодю уже 1.5 года и отказался от подобных конструкций, как слишком "мутных". После Делфи и 1С предпочитаю на каждую кнопку вешать свой обработчик вместо использования единого на сотню кнопкок:
Java
1
2
3
switch (view.getId())
                {
                    case R.id.button:
Тоже самое можно сделать так:
Java
1
2
3
4
    public void PrevClick(View v){
       Intent intent = new Intent(this, MainActivity.class);
       startActivity(intent);
    }
А в кнопке при ее описании добавить в xml
XML
1
2
3
        <Button
            android:onClick="PrevClick"
            />
С метотом указания активити согласен - удобнее... Но что быстрее - бэк или перезапуск не знаю! боюсь что бэк!!! При этом форма не пересоздается, а используются параметры из старой, еще не убитой!
1
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 15:53  [ТС]
и есть ещё вопрос если поможите буду рад нужна сделать либо список либо календарь что бы люди правильно вводили дату

Добавлено через 7 минут
спасибо второй ответ подошол с финишем а остальные попробую в следуйщих приложениях
что бы я без вас делал если знаете как сделать такой колендарь напишите мой скайп maximkhlebnikov вк https://vk.com/mskalash может я потом вам смогу помочь
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
12.06.2014, 15:57
Цитата Сообщение от mskalash Посмотреть сообщение
что бы люди правильно вводили дату
Возможно поможет: http://startandroid.ru/ru/urok... ialog.html
0
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 16:55  [ТС]
то что нужно

Добавлено через 8 минут
это все хорошо но я не доканца понимаю только пол года работаю с андроид студио и это моё первое приложение у меня был такой код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  String a;
                String b;
                long b1 = 0;
                long a1 = 0;
                a = editText1.getText().toString();
                b = editText2.getText().toString();
                SimpleDateFormat da = new SimpleDateFormat("dd.MM.yyyy");
                SimpleDateFormat db = new SimpleDateFormat("dd.MM.yyyy");
                try {
                    a1 = da.parse(a).getTime();
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                try {
                    b1 = db.parse(b).getTime();
                } catch (ParseException e) {
                    e.printStackTrace();
                }
 
                long t = (b1 - a1) / (1000 * 24 * 3600);
                double F = Math.sin(2 * Math.PI * t / 23);//физическое
                double E = Math.sin(2 * Math.PI * t / 28);//эмоцеональное
                double I = Math.sin(2 * Math.PI * t / 33);//интелектуальное
и я не доканца понимаю как это соеденить со ссылкой что вы дали
мне надо два таких поля и я не могу понять как их размножить и расчитать разницу в днях по этой формуле а то требуют в университете а то диплом не дадут ваша помощь очень нужна
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
12.06.2014, 19:11
Цитата Сообщение от mskalash Посмотреть сообщение
и я не доканца понимаю как это соеденить со ссылкой что вы дали
Сам никогда не пользовался этим диалогом, но... судя по коду...
1) Вы должны разобраться как в яве работать с датой! Для этого есть особый класс:
GregorianCalendar cal = new GregorianCalendar();
2) Научитесь получать дату из день/месяц/год и назад, получать секунд между датами
3) попробуйте повторить диалог из примера по ссылке
4) запихните результат диалога в cal, верните из него секунды и используйте в long t = (b1 - a1) / (1000 * 24 * 3600);
... работы для профи на час-два... Для новичка - часов 5-12... (зависит от знания явы) Удачи!
0
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 20:48  [ТС]
всё было бы хорошо но на новых версиях андроида showDialog почему то не работает при нажатии на поле вылетает приложение

Добавлено через 1 минуту
а каким кодом вы пользовались или вы не создавали что то на подобии?

Добавлено через 10 минут
и если кто то знает как реализовать без диалогового окна напишите
0
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
13.06.2014, 01:16
mskalash, чем вас стек фрагментов не устраивает? Зачем кнопки лишний раз переопределять

всё было бы хорошо но на новых версиях андроида showDialog почему то не работает при нажатии на поле вылетает приложение
?

используйте диалог фрагмент и ничего не будет вылетать, заодно и первая проблема ваша решена будет
0
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
15.06.2014, 19:30  [ТС]
я решил уйти от диалога и создать просто текстовые поля и кнопки но вот проблема программа по нажатию кнопки любой вылетает
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
  fd = (TextView) findViewById(R.id.fd);
        fm = (TextView) findViewById(R.id.fm);
        fy = (TextView) findViewById(R.id.fy);
        sd = (TextView) findViewById(R.id.sd);
        sm = (TextView) findViewById(R.id.sm);
        sy = (TextView) findViewById(R.id.sy);
        t1 = (TextView) findViewById(R.id.t1);
        Button b1 = (Button) findViewById(R.id.b1);
        b1.setOnClickListener(this);
        Button fdplus = (Button) findViewById(R.id.fdp);
        fdplus.setOnClickListener(this);
        Button fmplus = (Button) findViewById(R.id.fmp);
        fmplus.setOnClickListener(this);
        Button fyplus = (Button) findViewById(R.id.fyp);
        fyplus.setOnClickListener(this);
        Button fdminus = (Button) findViewById(R.id.fdm);
        fdminus.setOnClickListener(this);
        Button fmminus = (Button) findViewById(R.id.fmm);
        fmminus.setOnClickListener(this);
        Button fyminus = (Button) findViewById(R.id.fym);
        fyminus.setOnClickListener(this);
        Button sdplus = (Button) findViewById(R.id.sdp);
        sdplus.setOnClickListener(this);
        Button smplus = (Button) findViewById(R.id.smp);
        smplus.setOnClickListener(this);
        Button syplus = (Button) findViewById(R.id.syp);
        syplus.setOnClickListener(this);
        Button smminus = (Button) findViewById(R.id.smm);
        smminus.setOnClickListener(this);
        Button syminus = (Button) findViewById(R.id.sym);
        syminus.setOnClickListener(this);
        Button sdminus = (Button) findViewById(R.id.sdm);
        sdminus.setOnClickListener(this);
       // Button sr = (Button) findViewById(R.id.sr);
       // sr.setOnClickListener(this);
       // Button fr = (Button) findViewById(R.id.fr);
       // fr.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        int fd1=1;
        int fm1=1;
        int fy1=1800;
        int sd1=1;
        int sm1=1;
        int sy1=1800;
        ImageView i1 = (ImageView) findViewById(R.id.i1);
        ImageView i2 = (ImageView) findViewById(R.id.i2);
 
 
 
        switch (v.getId()) {
            case R.id.fdp:
                if(fm1==1||fm1==3||fm1==5||fm1==7||fm1==8||fm1==10||fm1==12) if(fd1<31){
                fd1=fd1+1;}
                if(fm1==4||fm1==6||fm1==9||fm1==11) if(fd1<30){
                    fd1=fd1+1;}
                if(fm1==2) if(fy1%4==0) if(fd1<29) fd1=fd1+1;
                if(fm1==2) if(fy1%4!=0) if(fd1<28) fd1=fd1+1;
 
                break;
            case R.id.fdm:
                fd1=fd1-1;
 
                break;
            case R.id.fmp:
                 if(fm1<12){
                fm1=fm1+1;}
 
                break;
            case R.id.fmm:
                if(fm1>1) {
                fm1=fm1-1;}
 
                break;
            case R.id.fyp:
 
                fy1=fy1+1;
                fy.setText(fy1);
                break;
            case R.id.fym:
                fy1=fy1-1;
                fy.setText(fy1);
                break;
            case R.id.sdp:
                if(sm1==1||sm1==3||sm1==5||sm1==7||sm1==8||sm1==10||sm1==12) if(sd1<31){
                    sd1=sd1+1;}
                if(sm1==4||sm1==6||sm1==9||sm1==11) if(sd1<30){
                    sd1=sd1+1;}
                if(sm1==2)if(fy1%4==0) if(sd1<29) sd1=sd1+1;
                if(sm1==2)if(fy1%4!=0) if(sd1<28) sd1=sd1+1;
                sd.setText(sd1);
                break;
            case R.id.sdm:
 
                    sd1=sd1-1;
                sd.setText(sd1);
                break;
            case R.id.smp:
                 if(fm1<12){
                sm1=sm1+1;}
                sm.setText(sm1);
                break;
            case R.id.smm:if(sm1>1) {
                sm1=sm1-1;}
                sm.setText(sm1);
                break;
            case R.id.syp:
                sy1=sy1+1;
                sy.setText(sy1);
                break;
            case R.id.sym:
                sy1=sy1-1;
                sy.setText(sy1);
                break;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.06.2014, 19:30
Помогаю со студенческими работами здесь

Кнопка назад (Back)
Здрасте. Как сделать чтобы при нажатии кнопки назад, активити не перерисовывалась и не закрывалась, И второй вопрос: Как поставить...

Кнопка back в главном меню
Хочу сделать кнопку возврата в главном меню (которое сверху). Делаю так: Создаю новый menu-ресурс &lt;?xml version=&quot;1.0&quot;...

Back-End для мобильного приложения
Доброго времени дня) (Почти) есть мобильное приложение, которое в своей работе использует серверную часть. Собственно 90% функционала как...

Ruby vs Python для back-end'a мобильного приложения, нужен realtime (возможно тема холиварная)
Изучаю мобильную разработку, хочу свой клон agar.io написать. Встал вопрос о back-end'e. До этого писал короткоживущие скрипты на PHP и как...

Кнопка BACK
Ребята как программно сделать чтобы при нажатии на кнопку был переход на нужную страничку! Именно программно?


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru