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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 85, средняя оценка - 4.85
antel
3 / 3 / 0
Регистрация: 23.10.2010
Сообщений: 101
#1

Динамическое создание кнопки - Android

07.08.2012, 17:59. Просмотров 11250. Ответов 26
Метки нет (Все метки)

Добрый день, подскажите пожалуйста как программно можно создать кнопку или картинку и отобразить их на экране?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.08.2012, 20:39     Динамическое создание кнопки #2
http://developer.android.com/intl/ru...ing/index.html
antel
3 / 3 / 0
Регистрация: 23.10.2010
Сообщений: 101
07.08.2012, 20:48  [ТС]     Динамическое создание кнопки #3
Эм что-то я там не могу найти такого)
Для уточнения мне нужно создать определённое количество кнопок, например их колличество введёт пользователь.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.08.2012, 21:37     Динамическое создание кнопки #4
а вы уже весь тренинг прошли?
Java
1
2
3
for(int i = 0; i < kilk; i++){
           layaut.addView(new Button());
}
Добавлено через 2 минуты
setLayoutParams не забудьте.

Добавлено через 27 минут
Java
1
2
3
4
5
6
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
for(int i = 0; i < kilk; i++){
           Button button = new Button(context);
           button.setLayoutParams(layoutParams);
           layout.addView(button);
}
KODAGEN
2 / 0 / 1
Регистрация: 22.11.2009
Сообщений: 80
01.11.2012, 23:04     Динамическое создание кнопки #5
V0v1k, если вы хотите построить из себя умного, то вам не сюда
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
02.11.2012, 12:02     Динамическое создание кнопки #6
Только не забывайте, при таком создании кнопок, вы не сможете отловить нажатие. Так что не забывайте явно указывать им id.
Java
1
 button.setId(id++);
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.11.2012, 13:14     Динамическое создание кнопки #7
сможете.
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
02.11.2012, 14:02     Динамическое создание кнопки #8
V0v1k, уверен? А ну, проверь. У тебя все id будут -1
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.11.2012, 14:39     Динамическое создание кнопки #9
да хоть -2)

Добавлено через 1 минуту
во первых, можно лысенер прилепить в момент создания кнопки, во вторых, найти view можно не только по id.
java_class
-1 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 17
07.02.2016, 19:56     Динамическое создание кнопки #10
V0v1k согласен на 100 процентов и поддерживаю
asffix
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 17
07.02.2016, 20:33     Динамическое создание кнопки #11
Народ, а как мне присвоить кнопке обработчик програмно? вот я програмно создаю кнопки, делаю для них layoutparams, но не пойму, как для кнопок сделать обработчик. может есть какой-нибудь setOnClick(View view) ну или что-то в этом роде?
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
07.02.2016, 20:36     Динамическое создание кнопки #12
asffix, button.setOnClickListener(new View.OnClickListener()

java_class, мёртвая тема как бы
java_class
-1 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 17
11.02.2016, 11:19     Динамическое создание кнопки #13
Кто нибудь подскажет
Я создал xml кнопку и хочу добавить через getresources().getlayout(R.layout.my_button),
Но приложение выдаёт ошибку
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
11.02.2016, 11:29     Динамическое создание кнопки #14
java_class, вы чего-то не то написали. Какой layout, если это id?
Если вы динамически создаёте кнопки, то можно либо генерировать их id (где-то есть статьи), либо обращаться через ссылки, а также через разметку (getChildAt).
java_class
-1 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 17
11.02.2016, 12:11     Динамическое создание кнопки #15
CoolMind, вы не так поняли, это уже другая тема, я на xml написал кнопку в папке res/layout и хочу добавить ещё в linearlayout
Java
1
2
3
my = (Button) getResources().getLayout(R.layout.my_button);
        mylin = (LinearLayout) findViewById(R.id.myLin);
mylin.addview(my);
А xml кнопки ниже
my_button.xml
XML
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<Button
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="my"
    android:background="@drawable/my">
 
</Button>
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
11.02.2016, 12:31     Динамическое создание кнопки #16
java_class, и что за ошибка?
У меня была похожая ситуация, там, правда, компонент вставлен был внутрь LinearLayout (для больших настроек).
Соответственно, было так:
LinearLayout cell = (LinearLayout) inflater.inflate(R.layout.item_table_cell, row, false);
Затем обращение к TextView внутри LinearLayout:
TextView textView = (TextView) cell.findViewById(R.id.letter);
Наконец, добавление компонента:
row.addView(cell);
java_class
-1 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 17
11.02.2016, 13:04     Динамическое создание кнопки #17
У Меня в линер ещё не добавлено ничего, а пробую добавить кнопку который нарисовал в xml и пишу код getresources().getlayout(R.layout.my_button) а ошибка именно в этой строке

Добавлено через 1 минуту
CoolMind

my = (Button) getResources().getLayout(R.layout.my_button);
Или это строка неправильна?
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,430
Завершенные тесты: 1
11.02.2016, 13:08     Динамическое создание кнопки #18
Java
1
Button btn = (Button) View.inflate(this, R.layout.my_nutton, null);
Добавлено через 26 секунд
this - это контекст, например акивити
java_class
-1 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 17
11.02.2016, 13:21     Динамическое создание кнопки #19
Паблито, спасибо большое, но как пользоваться с getResources()?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2016, 13:25     Динамическое создание кнопки
Еще ссылки по теме:

Динамическое создание элементов интерфейса Android
Динамическое создание интерфейса Android
Динамическое создание drawable-ресурса Android
Android Динамическое создание элементов на активити
Android Динамическое создание таблиц SQLite

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

Или воспользуйтесь поиском по форуму:
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,430
Завершенные тесты: 1
11.02.2016, 13:25     Динамическое создание кнопки #20
вопрос нечеткий, в каком смысле пользоваться?
что конкретно нужно сделать?
Yandex
Объявления
11.02.2016, 13:25     Динамическое создание кнопки
Ответ Создать тему
Опции темы

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