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

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

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

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

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

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

блокирование кнопок "Home" "Back" - Программирование Android
Доброго времени. собственно вопрос сл. можно ли заблокировать или каким либо образом отключить возможность нажатия пользования кнопок...

Как сохранить данные при свертывании аппаратной кнопкой "Back"? - Программирование Android
Здравствуйте. Подскажите пожалуйста, как сохранить данные при нажатии аппаратной кнопки back в главном активити? Мне бы в идеале хотелось...

AutocompleteTextView не закрывался диалог на кнопку "back" - Программирование Android
Всем привет! Как сделать так чтобы диалог AutocompleteTextView не закрывался на кнопку "back". Т.е я хочу сделать так чтобы пользователь...

Пошаговое создание кнопки "back" - Программирование Android
ДОбрый день, подскажите пожалуйста пошагово, как создать в приложении кнопку " вернуться назад" Спасибо!

Достать информацию для создания приложения на подобии "4 фото 1 слово" - Программирование Android
Подскажите пожалуйста где можно достать инфу для создания приложения на подобии 4 фото 1 слово

Кнопка "Стереть данные", как от нее защититься? - Программирование Android
В настройках приложения есть кнопка "Стереть данные", она удаляет все данные (в том числе и sql) приложения. 1 Есть ли способ...

11
sanekrsa
0 / 0 / 1
Регистрация: 11.06.2014
Сообщений: 10
11.06.2014, 23:27 #2
Form2->Hide();
Form1->Show();
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
11.06.2014, 23:57 #3
Цитата Сообщение от 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 #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, только указываем на какой именно назад нам надо попасть, в случае если их несколько =)
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
12.06.2014, 10:50 #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"
            />
С метотом указания активити согласен - удобнее... Но что быстрее - бэк или перезапуск не знаю! боюсь что бэк!!! При этом форма не пересоздается, а используются параметры из старой, еще не убитой!
1
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 15:53  [ТС] #6
и есть ещё вопрос если поможите буду рад нужна сделать либо список либо календарь что бы люди правильно вводили дату

Добавлено через 7 минут
спасибо второй ответ подошол с финишем а остальные попробую в следуйщих приложениях
что бы я без вас делал если знаете как сделать такой колендарь напишите мой скайп maximkhlebnikov вк https://vk.com/mskalash может я потом вам смогу помочь
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
12.06.2014, 15:57 #7
Цитата Сообщение от mskalash Посмотреть сообщение
что бы люди правильно вводили дату
Возможно поможет: http://startandroid.ru/ru/uroki/vse-...kerdialog.html
0
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 16:55  [ТС] #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);//интелектуальное
и я не доканца понимаю как это соеденить со ссылкой что вы дали
мне надо два таких поля и я не могу понять как их размножить и расчитать разницу в днях по этой формуле а то требуют в университете а то диплом не дадут ваша помощь очень нужна
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
12.06.2014, 19:11 #9
Цитата Сообщение от mskalash Посмотреть сообщение
и я не доканца понимаю как это соеденить со ссылкой что вы дали
Сам никогда не пользовался этим диалогом, но... судя по коду...
1) Вы должны разобраться как в яве работать с датой! Для этого есть особый класс:
GregorianCalendar cal = new GregorianCalendar();
2) Научитесь получать дату из день/месяц/год и назад, получать секунд между датами
3) попробуйте повторить диалог из примера по ссылке
4) запихните результат диалога в cal, верните из него секунды и используйте в long t = (b1 - a1) / (1000 * 24 * 3600);
... работы для профи на час-два... Для новичка - часов 5-12... (зависит от знания явы) Удачи!
0
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
12.06.2014, 20:48  [ТС] #10
всё было бы хорошо но на новых версиях андроида showDialog почему то не работает при нажатии на поле вылетает приложение

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

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

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

используйте диалог фрагмент и ничего не будет вылетать, заодно и первая проблема ваша решена будет
0
mskalash
2 / 2 / 0
Регистрация: 13.12.2013
Сообщений: 20
15.06.2014, 19:30  [ТС] #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;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2014, 19:30
Привет! Вот еще темы с ответами:

Кнопка "домой", смена ориентации и прочее :) - Программирование Android
Добрый вечер уважаемые. не могу решить вот такую проблему: Сделал пример отсюда:...

Свой Launcher. Срабатывает кнопка "назад" - Программирование Android
Здравствуйте! -Пишу свой простенький Laucher(во многом опирался на этот пример). -Тестирую на телефоне(texet). -При загрузке...

Кнопка "Показать на карте" и MapActivity - Программирование Android
Всем привет, возник такой вопрос. У меня есть список магазинов в RecyclerView во фрагменте. Хочу сделать под каждым магазином надпись...

Таймер. Кнопка "Пауза" - Программирование Android
Вобщем, решил попробовать сделать таймер, нашел статью, вроде все получилось, но есть одно НО. Таймер тикает, нажимаю на стоп,...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
15.06.2014, 19:30
Ответ Создать тему
Опции темы

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