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

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

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

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

16.01.2014, 00:53. Просмотров 2314. Ответов 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));
        }
    }
вылетает с ошибкой
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 00:53     Динамическое создание кнопок в цикле (Android)
Посмотрите здесь:
Динамическое создание кнопок на Mono Android Android
Android Динамическое создание кнопок и их кривая отрисовка
Реализация кнопок "Поделиться в соцсетях" в Android приложении Android
Динамическое создание интерфейса Android
Динамическое создание кнопки Android
Android Динамическое создание объекта
Android Динамическое создание интерфейса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Den_
160 / 156 / 18
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
16.01.2014, 01:28     Динамическое создание кнопок в цикле (Android) #2
Цитата Сообщение от train-13 Посмотреть сообщение
вылетает с ошибкой
Какой ошибкой?

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

Собственно, может подключить устройство к ПК и запустить программу в IDE? Чтобы было видно какой код ошибки.
train-13
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 18
17.01.2014, 23:37  [ТС]     Динамическое создание кнопок в цикле (Android) #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)
Миниатюры
Динамическое создание кнопок в цикле (Android)   Динамическое создание кнопок в цикле (Android)  
RinatV
115 / 108 / 5
Регистрация: 15.05.2012
Сообщений: 318
Записей в блоге: 10
18.01.2014, 13:22     Динамическое создание кнопок в цикле (Android) #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) с использованием идентификатора ресурса
train-13
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 18
18.01.2014, 22:17  [ТС]     Динамическое создание кнопок в цикле (Android) #8
RinatV, спасибо помогло +
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2015, 14:37     Динамическое создание кнопок в цикле (Android)
Еще ссылки по теме:
Динамическое создание View Android
Динамическое создание элементов интерфейса Android
Android Динамическое создание динамических обьектов
Android Динамическое создание элементов на активити
Динамическое создание элементов со стилями Android

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

Или воспользуйтесь поиском по форуму:
pepsipepsi
0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 1
21.01.2015, 14:37     Динамическое создание кнопок в цикле (Android) #9
а как присваивать обработчики на эти кнопки?
Yandex
Объявления
21.01.2015, 14:37     Динамическое создание кнопок в цикле (Android)
Ответ Создать тему
Опции темы

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