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

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

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

Массив из ImageView - Программирование Android

10.08.2012, 14:48. Просмотров 2687. Ответов 12
Метки нет (Все метки)

Подскажите как создать массив из ImageView?
Пытался сделать так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
RelativeLayout l=(RelativeLayout)findViewById(R.id.RelativeLayout1);
ImageView[] pole;
for(int i = 0;i<3;i++)
{
pole[i] = new ImageView(this);
pole[i].setId(i);
pole[i].setLayoutParams(new RelativeLayout.LayoutParams(35,35));
pole[i].setScaleType(ImageView.ScaleType.CENTER_CROP);
pole[i].setPadding(0, 0, 0, 0);
pole[i].setImageResource(R.drawable.ic_launcher);
l.addView(pole[i]);
}
Но оно ругается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2012, 14:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив из ImageView (Программирование Android):

Скопировать картинку из одной ImageView в другую ImageView - Программирование Android
В ImageView поставлена картинка методом setImageResource. По нажатию на неё, нужно такую-же картинку поставить в другую вью, а в первой...

ImageView - Программирование Android
Подскажите как правильно выводить картинку из URL Вроде нашел какой то пример в сети, но что то не работает. Да и почитав, понял что...

ImageView - Программирование Android
Добрый день. Вы не подскажите, как передать изображение из одного ImageView в Другой. Допустим есть три картинки в папке drawable и одна...

ImageView - Программирование Android
Добрый день ! Делал проект с нуля, все как обычно, но при поиске id для ImageView мне вдруг выдает : The method findByViewId(int) is...

Координаты imageView - Программирование Android
Доброго времени суток. Как программно установить координаты появления изображения? У меня есть метод onTouch, с него беру координаты...

Кастомный ImageView - Программирование Android
Прошу сильно не пинать, только учусь. Итак ,суть задачи: есть кастомный класс (public class TouchView extends ImageView), выводящий 2...

12
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
10.08.2012, 18:33 #2
1. id объекта не должен быть 0.
2. В программе не должно быть два одинаковых id.
3. Где лог ошибки?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.08.2012, 23:42 #3
NullPointerException.

ImageView[] pole = new ImageView[3];
учите Java.

Добавлено через 2 часа 8 минут
Цитата Сообщение от Bes-s Посмотреть сообщение
В программе не должно быть два одинаковых id.
почему?
1
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
11.08.2012, 00:29 #4
Цитата Сообщение от V0v1k Посмотреть сообщение
почему?
крашает. пример у сожалению не скину, но иногда выдает что т вроде: view c таким id уже существует.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.08.2012, 01:46 #5
хм, у меня есть десятки вюшек с одинаковым id хотя бы там, где есть листы с кастомными айтемами (иначе и быть не может). ну а если в разных активитях, то вообще проблем не вижу.

Добавлено через 1 минуту
может это в одном GroupView не может быть вюшек с одинаковым id на одном уровне?
ну, про одну программу, Вы точно загнули.

Добавлено через 25 минут
Цитата Сообщение от V0v1k Посмотреть сообщение
может это в одном GroupView не может быть вюшек с одинаковым id на одном уровне?
хм, даже это можно
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <TextView
        android:id="@+id/qqq"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
 
    <TextView
        android:id="@+id/qqq"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
 
</LinearLayout>
не знаю как вы добились такой ошибки....

Добавлено через 7 минут
Даже такой код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
      LinearLayout layout = new LinearLayout(this);
        layout.setLayoutParams(new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
 
        TextView t = new TextView(this);
        t.setText("1");
        t.setId(0);
 
        layout.addView(t, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        t = new TextView(this);
        t.setText("1");
        t.setId(0);
        layout.addView(t, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        setContentView(layout);
не дал никаких ошибок...
и id 0, и одинаковое у обеих view.
0
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
11.08.2012, 03:09 #6
Цитата Сообщение от V0v1k Посмотреть сообщение
хм, у меня есть десятки вюшек с одинаковым id хотя бы там, где есть листы с кастомными айтемами (иначе и быть не может). ну а если в разных активитях, то вообще проблем не вижу.

Добавлено через 1 минуту
может это в одном GroupView не может быть вюшек с одинаковым id на одном уровне?
ну, про одну программу, Вы точно загнули.

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

хм, даже это можно
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <TextView
        android:id="@+id/qqq"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
 
    <TextView
        android:id="@+id/qqq"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
 
</LinearLayout>
не знаю как вы добились такой ошибки....

Добавлено через 7 минут
Даже такой код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
      LinearLayout layout = new LinearLayout(this);
        layout.setLayoutParams(new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
 
        TextView t = new TextView(this);
        t.setText("1");
        t.setId(0);
 
        layout.addView(t, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        t = new TextView(this);
        t.setText("1");
        t.setId(0);
        layout.addView(t, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        setContentView(layout);
не дал никаких ошибок...
и id 0, и одинаковое у обеих view.
хм предполагаю, что креш легко вызвать.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <TextView
        android:id="@+id/qqq"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
 
    <ImageView
        android:id="@+id/qqq"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
 
</LinearLayout>
теперь, врядли адекватно сработает)
TextView tv = (TextView) findFivewById(R.id.qqq);
ImageView tv = (ImageView) findFivewById(R.id.qqq);
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.08.2012, 03:16 #7
Цитата Сообщение от silentnuke Посмотреть сообщение
TextView tv = (TextView) findFivewById(R.id.qqq);
ImageView tv = (ImageView) findFivewById(R.id.qqq);
ну естественно, что в обеих случает вытянется TextView и будет креш при кастинге. это единственный случай когда не нужно делать одинаковый id, ну а в других случаях это нужно и даже необходимо.
0
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
11.08.2012, 03:18 #8
Цитата Сообщение от V0v1k Посмотреть сообщение
ну естественно, что в обеих случает вытянется TextView и будет креш при кастинге. это единственный случай когда не нужно делать одинаковый id, ну а в других случаях это нужно и даже необходимо.
эм, не стоит мне это рассказывать)
Прекрасно знаю, ибо разрабатываю игры, и там это очень активно использую.
Но вы сказали, что не знаете как привести к крешу, вот вам вариант)
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.08.2012, 03:22 #9
а креш при желании можно всегда вызвать, например как у топикстартера ImageView[] pole; pole[i] = new ImageView(this);Но это не означает, что нельзя юзать масивы, нужно просто правильно их юзать

Добавлено через 2 минуты
Цитата Сообщение от silentnuke Посмотреть сообщение
Но вы сказали, что не знаете как привести к крешу, вот вам вариант)
я просил такой креш
Цитата Сообщение от Bes-s Посмотреть сообщение
view c таким id уже существует.
а вы мне креш с кастингом написали не имеющий отношения к одинаковым id, еще бы сразу написали (Activity)new Object();
0
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
11.08.2012, 04:22 #10
Цитата Сообщение от V0v1k Посмотреть сообщение
а вы мне креш с кастингом написали не имеющий отношения к одинаковым id, еще бы сразу написали (Activity)new Object();
вполне возможно, это было давно, и точно вспомнить что было в логе сложно. Но суть все поняли.
Что до нулевого - если в relativeLayout пытаться выстроить отношения вокруг элемента с нулевым id - то он будет просто игнорироваться.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.08.2012, 13:32 #11
Цитата Сообщение от Bes-s Посмотреть сообщение
Но суть все поняли.
ага, суть в том, что вы написали неправду.
0
antel
3 / 3 / 0
Регистрация: 23.10.2010
Сообщений: 101
11.08.2012, 15:24  [ТС] #12
V0v1k, может посоветуете что почитать по андроиду?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.08.2012, 16:00 #13
Я вот это сейчас читаю - Рето Майер - Android 2. Программирование приложений
А так-то по документации учился http://developer.android.com/intl/ru/training/index.html
1
11.08.2012, 16:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2012, 16:00
Привет! Вот еще темы с ответами:

Наследование от ImageView - Программирование Android
Класс: public class AnimalView extends ImageView { private int AnimalType; public static final int DONKEY = 1; public...

Баг с imageView - Программирование Android
Никто случайно не сталкивался с такой проблемой: использую TabHost(7 вкладок), на каждой вкладке есть imageView, добавляя картинки из...

Координаты ImageView - Программирование Android
Всем привет, хочу попросить у вас помощи, проблема заключается в следующем: У нас есть приложение в Android Studio, ну так же имеются...

На счет ImageView - Программирование Android
Ребят, очень важный вопрос: Предложим у меня есть две картинки у них есть свои ID, как написать проверку - &quot;Есть ли выше одной картинки...


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

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

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