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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
train-13
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 18
#1

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

16.01.2014, 00:53. Просмотров 2932. Ответов 8
Метки нет (Все метки)

создаю кнопки по циклу
Java
1
2
3
4
5
6
7
8
9
10
11
    void show(){
        public LinearLayout show;
        setContentView(R.layout.show_test);
        show = (LinearLayout) findViewById(R.id.show);
        for (int u=0; u<10; u++){
            ArrayList<Button> buttons = new ArrayList<Button>();
            buttons.add(new Button(this));
            buttons.get(u).setText(u);
            show.addView(buttons.get(u));
        }
    }
вылетает с ошибкой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 00:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Динамическое создание кнопок в цикле (Android) (Программирование Android):

Динамическое создание кнопок на Mono Android - Программирование Android
Доброго времени суток. Разработку под Андроид начал изучать совсем недавно. Выбрал следующую задачу: при запуске проекта подключаемся...

Динамическое создание кнопок и их кривая отрисовка - Программирование Android
Всем доброго времени суток. Имеется такая процедура(хотя в данном случае правильнее функция). private void SetButtons() { ...

Реализация кнопок "Поделиться в соцсетях" в Android приложении - Программирование Android
Есть приложение локально загружающее html страничку и которая показывает текст html страницы в webview. Как сделать кнопку Поделиться...

Динамическое создание интерфейса - Программирование Android
Здравствуйте уважаемые. Помогите справиться с задачей. Хочу динамически создать несколько LinearLayout c TextView, ImageView и Button...

Динамическое создание View - Программирование Android
Есть шаблон: &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; ...

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

8
_Den_
160 / 156 / 18
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
16.01.2014, 01:28 #2
Цитата Сообщение от train-13 Посмотреть сообщение
вылетает с ошибкой
Какой ошибкой?

Добавлено через 13 минут
Кажется проблема в том, что нет привязки к XML-файлу каждой кнопки, хотя я не знаю точно
0
Divizal
38 / 38 / 2
Регистрация: 04.02.2013
Сообщений: 106
16.01.2014, 05:29 #3
Код ошибки не помешал бы, да.
Вы в качестве layout ставите show_test, при этом кнопки добавляете на show. Так и должно быть?
0
train-13
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 18
16.01.2014, 10:31  [ТС] #4
Divizal, _Den_, код ошибки не могу дать. исполняю на устройстве. когда по одной добавляю все хорошо.
0
Divizal
38 / 38 / 2
Регистрация: 04.02.2013
Сообщений: 106
17.01.2014, 14:16 #5
train-13, тогда с чего такая уверенность что именно в этом участке кода ошибка? Я не вижу в данно коде ошибки, сходу так. Может у вас дальше там ошибка.

Собственно, может подключить устройство к ПК и запустить программу в IDE? Чтобы было видно какой код ошибки.
0
train-13
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 18
17.01.2014, 23:37  [ТС] #6
Divizal,_Den_, потому что когда создаю кнопки вручную все работает
Java
1
2
3
4
5
6
7
8
    void show(){
        LinearLayout show;
        setContentView(R.layout.show_test);
        show = (LinearLayout) findViewById(R.id.show);
        btn= new Button(this);
        btn.setText("1");
        show.addView(btn);
}
а когда по циклу
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    void show(){
        LinearLayout show;
        setContentView(R.layout.show_test);
        show = (LinearLayout) findViewById(R.id.show);
        btn= new Button(this);
        btn.setText("1");
        show.addView(btn);
        for (int u=0; u<10; u++){
            ArrayList<Button> buttons = new ArrayList<Button>();
            buttons.add(new Button(this));
            buttons.get(u).setText(u);
            show.addView(buttons.get(u));
        }
 
    }
то нет.
а ошибка могу предположить вот:
Кликните здесь для просмотра всего текста
01-17 22:32:09.296 8966-8966/com.androidituts.udp W/ResourceType﹕ No package identifier when getting value for resource number 0x00000000
01-17 22:32:09.296 8966-8966/com.androidituts.udp D/AndroidRuntime﹕ Shutting down VM
01-17 22:32:09.296 8966-8966/com.androidituts.udp W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x400205a0)
01-17 22:32:09.306 8966-8966/com.androidituts.udp E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: String resource ID #0x0
at android.content.res.Resources.getText(Resources.java:210)
at android.widget.TextView.setText(TextView.java:2951)
at com.androidituts.udp.MyActivity.show(MyActivity.java:134)
at com.androidituts.udp.MyActivity$2.onClick(MyActivity.java:93)
at android.view.View.performClick(View.java:2532)
at android.view.View$PerformClick.run(View.java:9293)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4277)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
0
Миниатюры
Динамическое создание кнопок в цикле (Android)   Динамическое создание кнопок в цикле (Android)  
RinatV
116 / 108 / 5
Регистрация: 15.05.2012
Сообщений: 318
Записей в блоге: 10
18.01.2014, 13:22 #7
должно быть

Java
1
2
ArrayList<Button> buttons = new ArrayList<Button>();
for (int u=0; u<10; u++){
иначе buttons.get(u) выдаст ошибку выхода за границу

Цитата Сообщение от train-13 Посмотреть сообщение
buttons.get(u).setText(u);
Цитата Сообщение от train-13 Посмотреть сообщение
android.content.res.Resources$NotFoundException: String resource ID #0x0
замените buttons.get(u).setText(u); на buttons.get(u).setText(String.valueOf(u)); иначе вызывается .setText(u) с использованием идентификатора ресурса
1
train-13
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 18
18.01.2014, 22:17  [ТС] #8
RinatV, спасибо помогло +
0
pepsipepsi
0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 1
21.01.2015, 14:37 #9
а как присваивать обработчики на эти кнопки?
0
21.01.2015, 14:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2015, 14:37
Привет! Вот еще темы с ответами:

Динамическое создание кнопки - Программирование Android
Добрый день, подскажите пожалуйста как программно можно создать кнопку или картинку и отобразить их на экране?

Динамическое создание интерфейса - Программирование Android
Уважаемые форумчане, не подскажите как можно реализовать создание интерфейса в активити по переданному приложению xml-файлу, чтобы...

Динамическое создание кнопки - Программирование Android
Добрый день, искал и перебровывал много способов, но не один не помог( Нужно создать 2 колонки (6 рядов) с кнопками динамически, но при...

Динамическое создание элементов со стилями - Программирование Android
Существует набор стилей : &lt;style name=&quot;once_items_yr&quot;&gt; &lt;item name=&quot;android:background&quot;&gt;#fff&lt;/item&gt; &lt;item...


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

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

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