Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
#1

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

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

у меня есть несколько форм и мне необходима кнопка которая будет возвращать меня к предыдущей форме я не знаю как это сделать кто знает подскажите
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sanekrsa
0 / 0 / 1
Регистрация: 11.06.2014
Сообщений: 10
11.06.2014, 23:27     Кнопка "Back" для приложения #2
Form2->Hide();
Form1->Show();
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,502
11.06.2014, 23:57     Кнопка "Back" для приложения #3
Цитата Сообщение от sanekrsa Посмотреть сообщение
Form2->Hide();
Form1->Show();
Не путайте новичка сишными командами...

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

Можно даже в кнопке Бэк:
Java
1
2
3
4
    @Override
    public void onBackPressed() {
        finish();
    }
Bloodleon
 Аватар для Bloodleon
1 / 1 / 0
Регистрация: 21.09.2012
Сообщений: 42
12.06.2014, 09:14     Кнопка "Back" для приложения #4
Сам я кодю 1 день, и ничего толком не знаю, но если бы мне понадобилось, я бы реализовал так
Java
1
2
3
4
5
switch (view.getId())
                {
                    case R.id.button:
                        Intent intent = new Intent(this, MainActivity.class);
                                startActivity(intent);
то же самое что и переход на новый Activity, только указываем на какой именно назад нам надо попасть, в случае если их несколько =)
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,502
12.06.2014, 10:50     Кнопка "Back" для приложения #5
Цитата Сообщение от 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"
            />
С метотом указания активити согласен - удобнее... Но что быстрее - бэк или перезапуск не знаю! боюсь что бэк!!! При этом форма не пересоздается, а используются параметры из старой, еще не убитой!
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 15:53  [ТС]     Кнопка "Back" для приложения #6
и есть ещё вопрос если поможите буду рад нужна сделать либо список либо календарь что бы люди правильно вводили дату

Добавлено через 7 минут
спасибо второй ответ подошол с финишем а остальные попробую в следуйщих приложениях
что бы я без вас делал если знаете как сделать такой колендарь напишите мой скайп maximkhlebnikov вк https://vk.com/mskalash может я потом вам смогу помочь
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,502
12.06.2014, 15:57     Кнопка "Back" для приложения #7
Цитата Сообщение от mskalash Посмотреть сообщение
что бы люди правильно вводили дату
Возможно поможет: http://startandroid.ru/ru/uroki/vse-...kerdialog.html
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 16:55  [ТС]     Кнопка "Back" для приложения #8
то что нужно

Добавлено через 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);//интелектуальное
и я не доканца понимаю как это соеденить со ссылкой что вы дали
мне надо два таких поля и я не могу понять как их размножить и расчитать разницу в днях по этой формуле а то требуют в университете а то диплом не дадут ваша помощь очень нужна
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,502
12.06.2014, 19:11     Кнопка "Back" для приложения #9
Цитата Сообщение от mskalash Посмотреть сообщение
и я не доканца понимаю как это соеденить со ссылкой что вы дали
Сам никогда не пользовался этим диалогом, но... судя по коду...
1) Вы должны разобраться как в яве работать с датой! Для этого есть особый класс:
GregorianCalendar cal = new GregorianCalendar();
2) Научитесь получать дату из день/месяц/год и назад, получать секунд между датами
3) попробуйте повторить диалог из примера по ссылке
4) запихните результат диалога в cal, верните из него секунды и используйте в long t = (b1 - a1) / (1000 * 24 * 3600);
... работы для профи на час-два... Для новичка - часов 5-12... (зависит от знания явы) Удачи!
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 20:48  [ТС]     Кнопка "Back" для приложения #10
всё было бы хорошо но на новых версиях андроида showDialog почему то не работает при нажатии на поле вылетает приложение

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

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

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

используйте диалог фрагмент и ничего не будет вылетать, заодно и первая проблема ваша решена будет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2014, 19:30     Кнопка "Back" для приложения
Еще ссылки по теме:

Почему приложение может пропасть из "Похожие" топового приложения? Android
Как сохранить данные при свертывании аппаратной кнопкой "Back"? Android
Android Достать информацию для создания приложения на подобии "4 фото 1 слово"
Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" Android
Таймер. Кнопка "Пауза" Android

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

Или воспользуйтесь поиском по форуму:
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
15.06.2014, 19:30  [ТС]     Кнопка "Back" для приложения #12
я решил уйти от диалога и создать просто текстовые поля и кнопки но вот проблема программа по нажатию кнопки любой вылетает
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;
Yandex
Объявления
15.06.2014, 19:30     Кнопка "Back" для приложения
Ответ Создать тему
Опции темы

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