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

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

Войти
Регистрация
Восстановить пароль
 
Stetsura
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 44
#1

Не срабатывает нажатие кнопки в Dialog - Программирование Android

03.03.2015, 19:23. Просмотров 288. Ответов 4
Метки нет (Все метки)

Необходимо при запуске окна, запрашивать от пользователя логин. Если логин введен - приложение продолжает свою работу. Если нет, то возвращает на предыдущее окно. На нажатии кнопки, вылетает с ошибкой.

Код:
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
public class TestOne extends Activity
{
    String UserName;
    Dialog EnterNameDialog;
        Context context = TestOne.this;
        String title = "Внимание!";
        EditText EnterNameEditText;
    
    public void onCreate(Bundle savedInstanceState) 
        {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_activity);
        
        EnterNameDialog = new Dialog(context);
        EnterNameDialog.setTitle(title);  
        
        EnterNameDialog.setContentView(R.layout.dialog_view);        
        TextView text = (TextView) EnterNameDialog.findViewById(R.id.enter_name_tests_textview);
        text.setText("Прежде чем пройти тест, нужно ввести имя.");
        
        EnterNameEditText = (EditText) EnterNameDialog.findViewById(R.id.enter_name_tests_edittext);
        
        Button canceltext = (Button) EnterNameDialog.findViewById(R.id.enter_name_cancel_button);
        canceltext.setText("Отмена");
        
        Button accepttext = (Button) EnterNameDialog.findViewById(R.id.enter_name_accept_button);
        accepttext.setText("Принять");
        EnterNameDialog.show();
        } 
    
    public void onEnterNameAcceptButtonClick (View view)
    {
        if (EnterNameEditText.getText().toString().equals(""))
        {
            Toast.makeText(context, "Вы ничего не выбрали",Toast.LENGTH_LONG).show();
            TestOne.super.onBackPressed();
        }
        else
        {
            UserName = EnterNameEditText.getText().toString();
        }
    }
    
    public void onEnterNameCancelButtonClick (View view)
    {
        TestOne.super.onBackPressed();
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2015, 19:23     Не срабатывает нажатие кнопки в Dialog
Посмотрите здесь:
Определить нажатие кнопки Home и кнопки сворачивания приложения Android
Android Alert Dialog закрывается при нажатии кнопки Назад
Нажатие на пункт меню срабатывает только со второго раза Android
Android Долгое нажатие кнопки
Android Реакция кнопки на нажатие
Не обрабатывается нажатие кнопки Android
Android Отловить нажатие кнопки Done
AsyncTask, отловить нажатие кнопки Android
Android Отловить нажатие кнопки Home
Android Обработать нажатие на кнопки в уведомлении
Android Изменение языка приложения через нажатие кнопки
Как передать через intent нажатие кнопки в другом активити Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
03.03.2015, 20:11     Не срабатывает нажатие кнопки в Dialog #2
А что это за
onEnterNameAcceptButtonClick
onEnterNameCancelButtonClick?

Откуда они взялись?
Stetsura
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 44
03.03.2015, 20:20  [ТС]     Не срабатывает нажатие кнопки в Dialog #3
Это onClick свойство в Layout, на котором EditText и две Button.

Java
1
2
3
4
5
6
7
8
9
10
11
<Button
        android:id="@+id/enter_name_cancel_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onEnterNameCancelButtonClick" />
    
    <Button
        android:id="@+id/enter_name_accept_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onEnterNameAcceptButtonClick" />
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
03.03.2015, 20:47     Не срабатывает нажатие кнопки в Dialog #4

Не по теме:

Пилятъ...постоянно забываю про этот android:onClick...



Добавлено через 5 минут
Так, а какая ошибка-то в логах?

Добавлено через 11 минут
Уберите "TestOne." что-ли...
Stetsura
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 44
03.03.2015, 21:03  [ТС]     Не срабатывает нажатие кнопки в Dialog #5
Разобрался! Видимо, была путаница между Activity. Так как один layout содержал элементы для Dialog. А другой элементы для отображения после ввода логина пользователем.

Заменил:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void onEnterNameAcceptButtonClick (View view)
    {
        if (EnterNameEditText.getText().toString().equals(""))
        {
            Toast.makeText(context, "Вы ничего не выбрали",Toast.LENGTH_LONG).show();
            TestOne.super.onBackPressed();
        }
        else
        {
            UserName = EnterNameEditText.getText().toString();
        }
    }
    
    public void onEnterNameCancelButtonClick (View view)
    {
        TestOne.super.onBackPressed();
    }
на:
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
accepttext.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {
                if (EnterNameEditText.getText().toString().equals(""))
                {
                    Toast.makeText(context, "Вы ничего не выбрали",Toast.LENGTH_LONG).show();
                    TestOne.super.onBackPressed();
                }
                else
                {
                    UserName = EnterNameEditText.getText().toString();
                    EnterNameDialog.dismiss();
                }
            }
        });
        
        canceltext.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {
                TestOne.super.onBackPressed();
            }
        });
Yandex
Объявления
03.03.2015, 21:03     Не срабатывает нажатие кнопки в Dialog
Ответ Создать тему
Опции темы

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