Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/60: Рейтинг темы: голосов - 60, средняя оценка - 4.68
2 / 2 / 0
Регистрация: 30.12.2012
Сообщений: 29

Как изменить setContentView

06.01.2013, 13:43. Показов 11612. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь поменять layout и у меня ни чего не получается, то есть кнопки не кликабельны. В первый раз layout меняется, а дальше ни одно событие не отрабатывается


Подскажите, куда следует копать? Подозреваю, что просто так использовать setContentView нельзя, а что тогда можно?


JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void onClick(View v) {
         // по id определеяем кнопку, вызвавшую этот обработчик @+id/button_game
         switch (v.getId()) {
         case R.id.button_game:
             setContentView(R.layout.activity_main);
           break;
         case R.id.button_next:
             setContentView(R.layout.v1); 
           break;
         case R.id.button_again:
             setContentView(R.layout.v2);
           break;
         }
       }
     }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.01.2013, 13:43
Ответы с готовыми решениями:

Как выполнить setContentView из другого класса?
Есть класс "Core" который является "точкой входа" в приложение, и есть класс в котором я меняю контент, но если я просто допишу...

SetContentView
Можно ли метод setContentView(R.layout.main) вызывать в методе скажем onResume() или onNewIntent() в активити ??или только можно в...

SetContentView и layoutParams
Почему когда я не передаю lp в setContentView, lin занимает весь экран, словно у него MATCH_PARENT, хотя я для него через setLayourParams...

9
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
06.01.2013, 18:20
кхм....
как я понял вы используя эклипс здесь своеобразное навешивание действий на кнопки
при создании проекта у вас есть исходная функция которая загружает исходный layout
Так вот в ней необходимо писать
Java
1
2
Button MyButton = (Button)findobjectbyid(R.id.ид_кнопки);
MyButton.setOnClickListener(имя_обработчика);
а потом ниже описываете работу обработчика

Java
1
2
3
OnClickListener имя_обработчика = new OnClickListener{
и т.д. в эклипс основа кода появится сама
}
0
 Аватар для Good-bad man
256 / 234 / 38
Регистрация: 31.10.2010
Сообщений: 504
06.01.2013, 19:04
По-моему, после каждого setContentView надо заново искать все элементы (findViewById) и вешать на них обработчики событий. А зачем вам вообще менять layout?
0
2 / 2 / 0
Регистрация: 30.12.2012
Сообщений: 29
06.01.2013, 19:07  [ТС]
Спасибо за ответ. Но, я хотел спросить несколько другую вещь. Как реагировать на нажатие на кнопку я освоил.

Меня же интересует как я могу менять содержимое экрана

setContentView(R.layout.v1);
setContentView(R.layout.v2);


Обычно работают с одним layout как вот здесь: setContentView(R.layout.activity_main);
JavaScript
1
2
3
4
5
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main);
А мне нужно рабоать с несколькими формами, на одной, например, будут установки, на другой рабочая форма.

Спасибо.
0
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
06.01.2013, 19:11
в принципе правильно меняете, но лучше не менять а вставкой вставить другие слои и изменять их отображение (Visibility)
0
2 / 2 / 0
Регистрация: 30.12.2012
Сообщений: 29
06.01.2013, 19:42  [ТС]
korep, подскажите как вставлять другие слои. Хотя бы скажите ключевые слова по которым нужно искать ответ.


Так же я получил вот такой совет... буду разбираться...:

HTML5
1
2
3
4
5
6
7
Обычно делают так: 1 Activity = 1 layout. Открыть новую активити можно так:
 
startActivity(new Intent(this, OtherActivity.class));
 
Вернуться в предыдущее активити пользователь может по нажатию кнопки "Назад" на устройстве. Если нужно принудительно вернуться на предыдущую активити - можно вызвать метод
 
finish();
0
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
06.01.2013, 19:48
слева, там где у вас объекты palette -> Layouts -> Include Other Layout кидаете на форму там будет выбрать/создать новый слой, Include'у даете id и работаете с этим id (visible/invisible), а всю работу с элементами осуществляете на новом слое
0
2 / 2 / 0
Регистрация: 30.12.2012
Сообщений: 29
06.01.2013, 21:00  [ТС]
Помог вот этот пример:

http://megadarja.blogspot.ru/2... oid-2.html

В примере показано как открывать слои. Как передавать данные. Есть Zip архив, который можно импортировать и пощупать.

Осталось разобраться, как закрыть подчиненную форму.
1
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
06.01.2013, 21:04
почитаем-почитаем
0
 Аватар для MegaSinner
99 / 95 / 9
Регистрация: 09.04.2010
Сообщений: 746
14.01.2013, 16:20
К черту OnClick Listener - он не будет работать если переключаться между леяутами. Делай так:
XML
1
2
3
4
    <Button
            android:id="@+id/Button03"
            .....
            android:onClick="Click"/>
И создай соответственную функцию Click:
Java
1
2
3
4
5
6
7
8
9
    public  void Click(View view)
    {
        switch (view.getId()) {
            case R.id.Button03:
              \\ду самтхинг
              break;
             \\и так на остальные кнопки кейсами.
         }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2013, 16:20
Помогаю со студенческими работами здесь

Обязательно ли вызывать setContentView?
Необходимо сделать активность (first), которая будет, например, заставкой с подсказками перед основной активностью (second). Но...

Как изменить версию comctl32 в runtime: к чему привязана эта информация и как ее изменить
Она видимо привязана к загружаемому модулю, т.к. создавая из DllMain контролы, учитывается версия comctl32 в dll. Вот и как системой...

Как изменить текст в label1? Как textBox1 изменить переменную
подскажите, каким способом можно реализовать работу основного кода одновременно с диалогом и что бы можно было с помощью диалога наблюдать...

Найти выражения и изменить (нашел, а как изменить не знаю)
Здравствуйте подскажите, пожалуйста, как изменить найденную строчку. у меня есть строчка вида (++)* - формула мне нужно заменить...

Расскажите пожалуйста идею, как реализовать чтобы по кнопке "изменить" любой текст сразу можно было изменить
Расскажите пожалуйста идею, как реализовать чтобы по кнопке &quot;изменить&quot; любой текст сразу можно было изменить. Ну вот например есть...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru