Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 85, средняя оценка - 4.85
antel
3 / 3 / 4
Регистрация: 23.10.2010
Сообщений: 101
#1

Динамическое создание кнопки - Программирование Android

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

Добрый день, подскажите пожалуйста как программно можно создать кнопку или картинку и отобразить их на экране?
http://www.cyberforum.ru/android-dev/thread2016080.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2012, 17:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Динамическое создание кнопки (Программирование Android):

Динамическое создание View
Есть шаблон: <?xml version="1.0" encoding="utf-8"?> <LinearLayout...

Динамическое создание интерфейса
Здравствуйте уважаемые. Помогите справиться с задачей. Хочу динамически...

Динамическое создание объекта
Всем привет! Заранее извиняюсь за глупый вопрос. Подскажите, пожалуйста, кто...

Динамическое создание интерфейса
Уважаемые форумчане, не подскажите как можно реализовать создание интерфейса в...

Динамическое создание таблиц SQLite
Пишу приложение, которому нужно нестатичное кол-во таблиц SQL. И возник вопрос,...

26
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.08.2012, 20:39 #2
http://developer.android.com/intl/ru/training/index.html
0
antel
3 / 3 / 4
Регистрация: 23.10.2010
Сообщений: 101
07.08.2012, 20:48  [ТС] #3
Эм что-то я там не могу найти такого)
Для уточнения мне нужно создать определённое количество кнопок, например их колличество введёт пользователь.
0
V0v1k
1160 / 984 / 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);
}
0
KODAGEN
3 / 1 / 1
Регистрация: 22.11.2009
Сообщений: 87
01.11.2012, 23:04 #5
V0v1k, если вы хотите построить из себя умного, то вам не сюда
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
02.11.2012, 12:02 #6
Только не забывайте, при таком создании кнопок, вы не сможете отловить нажатие. Так что не забывайте явно указывать им id.
Java
1
 button.setId(id++);
1
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.11.2012, 13:14 #7
сможете.
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
02.11.2012, 14:02 #8
V0v1k, уверен? А ну, проверь. У тебя все id будут -1
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.11.2012, 14:39 #9
да хоть -2)

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

java_class, мёртвая тема как бы
2
java_class
0 / 1 / 0
Регистрация: 12.01.2016
Сообщений: 17
11.02.2016, 11:19 #13
Кто нибудь подскажет
Я создал xml кнопку и хочу добавить через getresources().getlayout(R.layout.my_button),
Но приложение выдаёт ошибку
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
11.02.2016, 11:29 #14
java_class, вы чего-то не то написали. Какой layout, если это id?
Если вы динамически создаёте кнопки, то можно либо генерировать их id (где-то есть статьи), либо обращаться через ссылки, а также через разметку (getChildAt).
0
java_class
0 / 1 / 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>
1
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
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);
0
java_class
0 / 1 / 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);
Или это строка неправильна?
0
Pablito
2652 / 2134 / 727
Регистрация: 12.05.2014
Сообщений: 7,447
Завершенные тесты: 1
11.02.2016, 13:08 #18
Java
1
Button btn = (Button) View.inflate(this, R.layout.my_nutton, null);
Добавлено через 26 секунд
this - это контекст, например акивити
0
java_class
0 / 1 / 0
Регистрация: 12.01.2016
Сообщений: 17
11.02.2016, 13:21 #19
Паблито, спасибо большое, но как пользоваться с getResources()?
0
Pablito
2652 / 2134 / 727
Регистрация: 12.05.2014
Сообщений: 7,447
Завершенные тесты: 1
11.02.2016, 13:25 #20
вопрос нечеткий, в каком смысле пользоваться?
что конкретно нужно сделать?
0
11.02.2016, 13:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2016, 13:25
Привет! Вот еще темы с решениями:

Динамическое создание кастомного layout
Всем здрасте. Столкнулся с такой проблемой. Стоит задача по нажатию на...

Динамическое создание элементов интерфейса
Здравствуйте. Есть небольшая проблема с динамическим созданием элементов...

Динамическое создание элементов со стилями
Существует набор стилей : &lt;style name=&quot;once_items_yr&quot;&gt; &lt;item...

Динамическое создание динамических обьектов
Пишу игру. Есть уровни. В каждом уровне заданное количество...


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

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

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