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

Переключение между экранами при нажатии на кнопку - Программирование Android

09.12.2016, 12:03. Просмотров 709. Ответов 19
Метки нет (Все метки)

Здравствуйте интересует такой вопрос, как сделать в Android Studio переключение между экранами. Смотрел статью по этому поводу но у меня чего то вылазят ошибки.
И еще было бы интересно сделать кнопку выход, чтобы приложение закрывалось. Но не знаю как для нее обработчик написать.
Вот скрин ошибки переключения между экранами:

http://www.cyberforum.ru/android-dev/thread1367227.html

0
Миниатюры
Переключение между экранами при нажатии на кнопку  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2016, 12:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переключение между экранами при нажатии на кнопку (Программирование Android):

Как создать анимацию при переходе между экранами?
У меня прога состоит из нескольких экранов и я хочу сделать анимационный...

Добавить анимацию между экранами
Как Добавить анимацию между экранами? эффекты какие?

Ошибка при нажатии на кнопку
package ru.test.gthen; import android.app.*; import android.os.*; import...

Разделить кнопку на части при нажатии
Есть библиотека https://android-arsenal.com/details/1/702#!descri.. которая...

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

19
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
09.12.2016, 13:08 #2
надо написать так
Переключение между экранами при нажатии на кнопку
1
iPashka1997
-2 / 0 / 2
Регистрация: 28.09.2015
Сообщений: 116
09.12.2016, 13:54  [ТС] #3
спасибо большое все получилось.
только теперь вопрос в следующем хочу сделать кнопку выхода из приложения. Чтобы по нажатию на клавишу производился полный выход из приложения.
0
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
09.12.2016, 14:02 #4
Java
1
2
3
4
5
6
        findViewById(R.id.exitButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
1
iPashka1997
-2 / 0 / 2
Регистрация: 28.09.2015
Сообщений: 116
09.12.2016, 14:04  [ТС] #5
и еще такой вопрос целесообразно делать очень много кнопок. Например я хочу написать свою программу "КАРАОКЕ".
Или есть компонент более подходящий для этой цели. Просто это надо делать очень много переключений между экранами. Вот скрин моей будущей проги:
0
Миниатюры
Переключение между экранами при нажатии на кнопку  
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
09.12.2016, 14:10 #6
Цитата Сообщение от iPashka1997 Посмотреть сообщение
Вот скрин моей будущей проги:
какой ты оптимист
Цитата Сообщение от iPashka1997 Посмотреть сообщение
я хочу написать свою программу "КАРАОКЕ".
Или есть компонент более подходящий для этой цели.
специального компонента для написания порграммы КАРАОКЕ нет, а кнопки можно сделать минимум тремя способами, а заезжие тролли зайдут в тему и скажут что знают еще пару способов

каждый делает как ему удобно
уроки поискать в инете и посмотреть не?
0
iPashka1997
-2 / 0 / 2
Регистрация: 28.09.2015
Сообщений: 116
09.12.2016, 14:27  [ТС] #7
попробовал сделать кнопку назад получилось, но перестала работать кнопка выход. Что я сделал не так?
0
Миниатюры
Переключение между экранами при нажатии на кнопку   Переключение между экранами при нажатии на кнопку  
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
09.12.2016, 14:39 #8
код который я написал надо вставлять в onCreate
0
iPashka1997
-2 / 0 / 2
Регистрация: 28.09.2015
Сообщений: 116
09.12.2016, 15:12  [ТС] #9
это я исправил. Но потом решил потренироваться и создать экран для шансончика.
Там запутался и сделал ошибку. Шансончик 11 кнопка - после ее нажатия должен открыться экран lepsik.
Вот скрины экранов.
0
Миниатюры
Переключение между экранами при нажатии на кнопку   Переключение между экранами при нажатии на кнопку  
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
09.12.2016, 15:18 #10
http://developer.alexanderklimov.ru/android/views/button.php
0
iPashka1997
-2 / 0 / 2
Регистрация: 28.09.2015
Сообщений: 116
09.12.2016, 15:23  [ТС] #11
та смотрел я этот сайт вчера только почти ничего не выходит. Что то определенно делаю не так.
0
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
09.12.2016, 15:26 #12
надо читать, а не смотреть
0
iPashka1997
-2 / 0 / 2
Регистрация: 28.09.2015
Сообщений: 116
13.12.2016, 18:45  [ТС] #13
Что-то пошло не так, компилятор ошибок вообще не выдает, но когда нажимаю на кнопку пишет что программа остановлена. Вот код:
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
package ipashka1997.menu;
 
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
 
import static ipashka1997.menu.R.layout.ratusha;
 
 
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(this);
    }
 
            @Override
            public void onClick(View view) {
           Intent intent = new Intent(MainActivity.this, ratusha.class);
                startActivity(intent);
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
package ipashka1997.menu;
import android.app.Activity;
import android.os.Bundle;
 
public class ratusha extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.ratusha);
    }
}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ipashka1997.menu">
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
                <activity android:name=".ratusha"
                    android:label="Ратуша">
                </activity>
            </intent-filter>
        </activity>
    </application>
 
</manifest>
0
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
13.12.2016, 18:59 #14
Цитата Сообщение от iPashka1997 Посмотреть сообщение
но когда нажимаю на кнопку пишет что программа остановлена.
и еще кучу текста и консоли, который надо копировать и показывать для диагностики

а вообще
XML
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="ipashka1997.menu">
 
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
 
    <activity android:name=".MainActivity">
 
        <intent-filter>
 
            <action android:name="android.intent.action.MAIN"/>
 
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
 
    <activity
        android:name=".ratusha"
        android:label="Ратуша">
    </activity>
 
</application>
 
</manifest>
0
demixdn
284 / 231 / 68
Регистрация: 31.10.2016
Сообщений: 555
13.12.2016, 19:00 #15
Цитата Сообщение от iPashka1997 Посмотреть сообщение
import static ipashka1997.menu.R.layout.ratusha;
Возможно в этом проблема.
А еще проблема, это название Activity с маленькой буквы. Называйте правильно, как полагается, а лучше пользуйтесь диалоговыми окнами для создания стандартных элементов.
1
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
13.12.2016, 19:00 #16
и еще
Java
1
public class ratusha extends AppCompatActivity
0
iPashka1997
-2 / 0 / 2
Регистрация: 28.09.2015
Сообщений: 116
13.12.2016, 19:50  [ТС] #17
demixdn, спасибо. Переделал проект чтобы не искать ошибку, все получилось.

Добавлено через 22 минуты
еще один вопрос связанный с кнопками, хотел для 3 кнопок сделать обработчик:
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
package ipashka1997.clash;
 
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends AppCompatActivity implements OnClickListener {
 
    final Button button = (Button) findViewById(R.id.button);
    final Button button2 = (Button) findViewById(R.id.button2);
    final Button button3 = (Button) findViewById(R.id.button3);
 
// устанавливаем один обработчик для всех кнопок
    button.setOnClickListener(this);
    button2.setOnClickListener(this);
    button3.setOnClickListener(this);
 
    // анализируем, какая кнопка была нажата. Всего один метод для всех кнопок
    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.button:
                Intent intent = new Intent(MainActivity.this, Ratusha.class);
                startActivity(intent);
                break;
            case R.id.button2:
                Intent intent1 = new Intent(MainActivity.this, pushka.class);
                startActivity(intent1);
                break;
            case R.id.button3:
                Intent intent2 = new Intent(MainActivity.this, Ratusha.class);
                startActivity(intent2);
                break;
        }
    }
}
Ругается на вот эти 3 строчки кода:
Java
1
2
3
    button.setOnClickListener(this);
    button2.setOnClickListener(this);
    button3.setOnClickListener(this);
0
demixdn
284 / 231 / 68
Регистрация: 31.10.2016
Сообщений: 555
13.12.2016, 19:53 #18
Процитирую Паблито: "onCreate является точкой входа в приложение"
Именно там начинают вызываться все методы. В том числе
Цитата Сообщение от iPashka1997 Посмотреть сообщение
button.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
0
iPashka1997
-2 / 0 / 2
Регистрация: 28.09.2015
Сообщений: 116
13.12.2016, 21:08  [ТС] #19
когда добавил в onCreate компилирует, но при запуске приложения - выкидывает
0
demixdn
284 / 231 / 68
Регистрация: 31.10.2016
Сообщений: 555
14.12.2016, 12:16 #20
Цитата Сообщение от demixdn Посмотреть сообщение
Процитирую Паблито: "onCreate является точкой входа в приложение"
Именно там начинают вызываться все методы.
Цитата Сообщение от iPashka1997 Посмотреть сообщение
(Button) findViewById(R.id.button);
Это тоже там же вызывается.
Нельзя вызывать
Java
1
findViewById(R.id.button)
до того, как вы укажете разметку на ваш экран. А разметка указывается в onCreate->setContentView().
Только после вызова этого метода вы можете что либо делать с вашей разметкой.

Пожалуйста, пройдите пару уроков, прежде чем начинать кодить. Посмотрите чужой код. github открыт для всех.
0
14.12.2016, 12:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2016, 12:16
Привет! Вот еще темы с решениями:

Вылетает приложение при нажатии на кнопку
Здравствуйте, столкнулся с проблемой, что при нажатии на кнопку приложение...

При нажатии на кнопку приложение закрывается
Здравствуйте. Возникла проблема и вот не знаю как решить. Запускал приложение...

Смена темы ActionBar при нажатии на кнопку
Подскажите пожалуйста как можно изменить тему ActionBar, при нажатии на кнопку.

Фрагменты: приложение вылетает при 4-ом нажатии на кнопку
Здравствуйте, в фрагменте есть кнопка, при нажатии на неё 3 раза приложение...


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

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

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