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

Обработчик кнопки - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Почему .setBackground не работает? http://www.cyberforum.ru/android-dev/thread815919.html
У меня кнопки представляют собой TextView'ы, на которых по умолчанию выставлены соотв. рисунки, но при попытке изменить их(на любые) при нажатии, путем:...
Программирование Android Exception при нажатии любых кнопок Я выставил листенер самим правильным образом - через xml, но при нажатии вылетает ошибка: 02-14 21:55:09.355: ERROR/AndroidRuntime(974): FATAL EXCEPTION: main ... http://www.cyberforum.ru/android-dev/thread815633.html
eclipse DDMS вкладка File Explorer не могу раскрыть папку data Программирование Android
eclipse DDMS вкладка File Explorer не могу раскрыть папку data, когда запускаю приложение на телефоне по USB. Но запуская это же приложение через эмулятор в этом случае содержимое папки data...
Программирование Android Не срабатывает onTouchEvent
Всем доброго Вечера, недавно занимаюсь программирование под Android. Каким образом реализовать корректную обработку onTouchEvent в ниже приведенном коде, вообще задумывал сделать отображение позиции...
Программирование Android Проверка совместимости http://www.cyberforum.ru/android-dev/thread815546.html
Есть ли какой-нибудь сервис для проверки совместимости приложения с различными версиями Android?
Программирование Android Как изменить заголовок вкалдки при изменении контента активити Здравствуйте. Имеется TabHost, содержащий две вкладки. Вкладки добавляются так: public class TabCollection extends TabActivity { .... spec1 =... подробнее

Показать сообщение отдельно
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
23.03.2013, 23:50
как я упустил это!
Проблема в твоем switch/case. Все дело в setContentView() после его вызова нужно переопределить все view на layout'e (findViewById()) включая listner'ы. т.е. в твоем случае
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
         case R.id.button1:
           // кнопка ОК
             setContentView(R.layout.main_menu);
             button1 = (Button) findViewById(R.id.button1);
             button1.setOnClickListener(this);
           break;
         case R.id.button2:
           // кнопка Cancel
             setContentView(R.layout.entry_form);
             button2 = (Button) findViewById(R.id.button2);
             button2.setOnClickListener(this);
           break;
         }
    }
но проще и правильнее в твоем случае другое решение:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Override
    public void onClick(View v) {
 
        final long myId1 = R.id.button1;
        final long myId2 = R.id.button2; 
 
        // TODO Auto-generated method stub
        switch (v.getId()) {
         case myId1 :
           // кнопка ОК
           getLayoutInflater().inflate(R.layout.main_menu, null);
           break;
         case myId2:
           // кнопка Cancel
             getLayoutInflater().inflate(R.layout.entry_form, null);
           break;
         }
    }
в сущности setContentView и LayoutInflater.inflate() одновременно похожи и в тоже время очень разные методы...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru