Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Artemiks
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 16
1

Загрузка картинок из папки assets в imageView используя adapter

02.10.2017, 20:22. Просмотров 925. Ответов 8

Пишу небольшую программку для андроида.
Есть листвью который автоматически заполняется необходимыми строками из файла *.xml с помощью адаптера

XML
1
2
3
4
5
6
7
<string-array name="ryba">
        <item>Мох</item>
        <item>Лимонник</item>
        <item>Канабис</item>
        <item>Канабис</item>
        <item>Канабис</item>
    </string-array>

Java
1
2
3
4
5
6
7
8
9
public void ryba(){//заполняет список 
            String[] ryba = getResources().getStringArray(R.array.ryba);
            ListView listView = (ListView) findViewById(R.id.s);// получаем экземпляр элемента ListView
 
 
            // используем адаптер данных чтобы заполнить лист из списка
            adapter = new ArrayAdapter<>(this, R.layout.stroka, R.id.tex, ryba);
            listView.setAdapter(adapter);//и вызываем его
};
Каждый итем в листвью имеет такую структуру: внутри LinearLayout находятся имейджвью и текствью.

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#e9ecca">
 
    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="100dp"
        android:layout_height="70dp"
        app:srcCompat="@drawable/просто любая фотка чтобы как то заполнить пустоту(не в душе)" />
 
    <TextView
        android:id="@+id/tex"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="30"
        android:lineSpacingExtra="14sp"
        android:lineSpacingMultiplier="0.4"
        android:paddingLeft="10dp"
        android:text="Рыбка"
        android:textAllCaps="false"
        android:textColor="@android:color/background_dark"
        android:textSize="18sp"
         />
</LinearLayout>
У меня также имеются картинки хранящиеся в папке assets, и имеющие названия 1.jpg, 2..... 9..... и т.д.



Как сделать так, чтобы в каждый итем со своим айди автоматически загрузилась фотка с названием соответсвующим айди итема? Т.е напротив надписи мох была фотка моха, напротив канабиса розовый кот и т.д.
Спасибо за помощь))
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2017, 20:22
Ответы с готовыми решениями:

Копирование папки из Assets
Всем здравствуйте! Я бы хотел узнать как можно скопировать подпапку (например &quot;pictures&quot;)...

Работа с файлом из папки Assets
Вопрос к знающим. При старте приложения в методе onCreate() постоянно копирую файл с расширением...

Добавить файлы и папки в assets программно
Можно ли добавить файлы и папки в assets программно?

Загрузка картинок из папки
Здравствуйте уважаемые программисты! Вот так я загружаю картинку. D3DXCreateTextureFromFile(...

Загрузка картинок из папки на сайт (упорядочивая по имени)
Имеется папка. В ней N картинок. Имена каждой из картинок мы не знаем. Надо их все загрузить на...

8
ILNAR_93
Android
243 / 240 / 52
Регистрация: 19.01.2013
Сообщений: 1,895
Записей в блоге: 3
04.10.2017, 15:36 2
делай свой адаптер. Custom adapter
0
Artemiks
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 16
04.10.2017, 15:41  [ТС] 3
Спасибо, а что то поподробнее можно? Я не совсем разобрался с этими адаптерами
0
ILNAR_93
Android
243 / 240 / 52
Регистрация: 19.01.2013
Сообщений: 1,895
Записей в блоге: 3
04.10.2017, 16:06 4
http://startandroid.ru/ru/uroki/vse-...j-adapter.html
0
Artemiks
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 16
04.10.2017, 16:11  [ТС] 5
Ну тут описывается уже то что я сделал. Автоматическая загрузка текста в итемы. Мне же нужно как то автоматически загружать картинки в имейджвьюшки
0
petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 696
Завершенные тесты: 1
04.10.2017, 16:42 6
Цитата Сообщение от Artemiks Посмотреть сообщение
Ну тут описывается уже то что я сделал. Автоматическая загрузка текста в итемы. Мне же нужно как то автоматически загружать картинки в имейджвьюшки
а какая разница? вместо текста подставь свою вьюшку и грузи туда картинки. Тебе готовый пример дали , всего ничего переделать.
0
Artemiks
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 16
04.10.2017, 21:46  [ТС] 7
так вся загвоздка в том что когда я гружу текст то я загружаю туда массив строк, описанных в хмл документе. у массива есть свое имя. как мне сделать массив картинок?
0
Artemiks
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 16
09.10.2017, 21:19  [ТС] 8
Нашел выход из ситуации
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
String[] trava = getResources().getStringArray(R.array.trava);
            int[] lolo = getResources().getIntArray(R.array.lolon);
            int[] loloi ={R.drawable.ry1,R.drawable.ry2,R.drawable.ry3};
 
            ArrayList<HashMap<String,String>> arrayList=new ArrayList<>();
            for (int i=0;i<trava.length;i++)
            {
                HashMap<String,String> hashMap=new HashMap<>();//создать хеш для хранения данных в ключ и значение
                hashMap.put("name",trava[i]);//вложить в
                hashMap.put("image",ke[i]+"");
                arrayList.add(hashMap);//добавить хешмап в аррейлист
            }
            String[] from={"name","image"};//строковый массив
            int[] to={R.id.tex,R.id.imageView2};//int array of views id's
            SimpleAdapter simpleAdapter=new SimpleAdapter(this,arrayList,R.layout.stroka,from,to);//Создайте объект и задайте параметры для simpleAdapter
            listView.setAdapter(simpleAdapter);//задает адаптер для ListView
 
            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { //слушатель нажатий на итем
                @Override
                public void onItemClick(AdapterView<?> parent, View itemClicked, int position, long id) {
 
                    long a = id + 1;
                    Intent intent = new Intent(MainActivity.this, activity1.class); // это для пеедачи айди нажатого элемента в активити1
                    intent.putExtra("F", a);//передает в активити1 переменную а
 
                    String s = "trava";
                    intent.putExtra("G", s);// передает в активити1 строку s как идентификатор чтобы знать с какого списка идут нажатия
                    startActivity(intent);
                }
            });
        }

но есть одно но
когда пишешь ресурсы прямо в коде то картинки отображаются отлично:
Java
1
int[] loloi ={R.drawable.ry1,R.drawable.ry2,R.drawable.ry3};
но когда пишешь как ресурс то картинки попросту не отображаются, кто может сказать в чем проблема?
int[] lolo = getResources().getIntArray(R.array.lolon);
0
Pablito
2831 / 2251 / 760
Регистрация: 12.05.2014
Сообщений: 7,854
Завершенные тесты: 1
10.10.2017, 10:30 9
это не проблема
0
10.10.2017, 10:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2017, 10:30

Загрузка в Excel лист, всех картинок из папки
Добрый день уважаемые форумчане. Подскажите пожалуйста, как в лист Excel загрузить все...

Загрузка нескольких картинок из папки и реализовать возможность переключения между ними
Добрый день. Хочу для начала сделать следующее: В окне у меня расположен ListBox. Кликая на...

При чтении JSON файла из папки Assets разные данные
Хочу из файла test.txt вытащить данные json. Файл лежит в папке assets. private void...


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

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

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