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

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

Войти
Регистрация
Восстановить пароль
 
Japanese
9 / 9 / 1
Регистрация: 14.11.2010
Сообщений: 128
#1

Бредятина с картинками - Программирование Android

16.10.2015, 12:54. Просмотров 200. Ответов 1
Метки нет (Все метки)

Засунул в drawable картинку 123.png.
При запуске приложения она должна загрузиться. Но вместо этого пишет это "errorjava.io.FileNotFoundException: drawable/123.png", а чуть ниче кучу строк с этим "Pointer 0x0, not in getPreloadedDrawables?".
Прикол в том, что есть приложение в котором используется точно такой же код и оно работает и грузит картинки!!! Помогите что делать??

MainActivity

private GridView gridView;
public GridViewAdapter customGridAdapter;

onCreate
C#
1
2
3
4
ArrayList<ImageItem> iI = getData();
        gridView = (GridView) findViewById(R.id.gridView);
        customGridAdapter = new GridViewAdapter(this, R.layout.row_grid, iI);
        gridView.setAdapter(customGridAdapter);
Пытаюсь загрузить картинку так
C#
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
static ArrayList<ImageItem> imageItems;
private ArrayList<ImageItem> getData() 
{
            imageItems = new ArrayList<ImageItem>();
            AssetManager assets = this.getResources().getAssets();
            try {
                Bitmap image;
                InputStream buffer = new BufferedInputStream(assets.open("drawable/123.png"));
                BitmapFactory.Options o = new BitmapFactory.Options();
                o.inJustDecodeBounds = true;
 
                final int REQUIRED_WIDTH=100;
                final int REQUIRED_HIGHT=100;
 
                int scale=1;
                while(o.outWidth/scale/2>=REQUIRED_WIDTH && o.outHeight/scale/2>=REQUIRED_HIGHT) scale*=2;
 
                BitmapFactory.Options o2 = new BitmapFactory.Options();
                o2.inSampleSize=scale;
                image = BitmapFactory.decodeStream(buffer, null, o2);
 
                imageItems.add(new ImageItem(image, "Картинка", "drawable/123.png"));
            }
            catch(IOException ex)
            {
                Log.w("error", "error" + ex);
            }
return imageItems;
}
ImageItem
C#
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
32
33
34
35
36
package com.baykalov.csgocases;
 
import android.graphics.Bitmap;
 
public class ImageItem {
    private Bitmap image;
    private String title;
    private String link;
 
    public ImageItem(Bitmap image, String title, String link) {
        super();
        this.image = image;
        this.title = title;
        this.link = link;
    }
 
    public Bitmap getImage() {
        return image;
    }
 
    public void setImage(Bitmap image) {
        this.image = image;
    }
 
    public String getTitle() {
        return title;
    }
 
    public String getLink() {
        return link;
    }
 
    public void setTitle(String title) {
        this.title = title;
    }
}
GridViewAdapter
C#
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
 
import java.util.ArrayList;
 
 
public class GridViewAdapter extends ArrayAdapter<ImageItem>  {
    private Context context;
    private int layoutResourceId;
    private ArrayList<ImageItem> data = new ArrayList<ImageItem>();
 
    public GridViewAdapter(Context context, int layoutResourceId,
                           ArrayList<ImageItem> data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        ViewHolder holder = null;
 
        if (row == null) {
            LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);
            holder = new ViewHolder();
            holder.imageTitle = (TextView) row.findViewById(R.id.text);
            holder.image = (ImageView) row.findViewById(R.id.image);
            row.setTag(holder);
 
        } else {
            holder = (ViewHolder) row.getTag();
        }
 
        final ImageItem item = data.get(position);
        holder.imageTitle.setText(item.getTitle());
        holder.image.setImageBitmap(item.getImage());
 
        holder.image.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
 
            }
 
        });
 
        return row;
    }
 
    static class ViewHolder {
        TextView imageTitle;
        ImageView image;
    }
 
    public synchronized void refreshAdapter(ArrayList<ImageItem> items) {
        data.clear();
        data.addAll(items);
        notifyDataSetChanged();
    }
}
ActivityMain
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
 
    <GridView
        android:id="@+id/gridView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:columnWidth="100dp"
        android:gravity="center"
        android:numColumns="auto_fit"
        android:verticalSpacing="5dp"
        android:drawSelectorOnTop="true"
        android:stretchMode="columnWidth"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true" />
</RelativeLayout>
row_grid
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
27
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:orientation="vertical"
    android:padding="5dp"
    android:clickable="true"
    android:focusable="true">
 
    <ImageView
        android:id="@+id/image"
        android:layout_width="100dp"
        android:layout_height="100dp">
    </ImageView>
 
    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:gravity="center"
        android:textSize="12sp"
        android:text="1">
    </TextView>
 
</LinearLayout>
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2015, 12:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Бредятина с картинками (Программирование Android):

Работа с картинками - Программирование Android
так получаю координаты нужного квадратика, где x и y - координаты центра public String getSelectedRect() { return...

View Pager с картинками - Программирование Android
Всем привет. Есть view pager с картинками (image view) 1- как сделать так чтобы пользователь мог скачать (сохранить) понравившиюся картинку...

Красивые табы с картинками - Программирование Android
Использую ActionBar и actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);Вроде как кастомизировать его сильно нельзя. Хочу...

Ошибка в запуске Фрагмента с картинками - Программирование Android
Здравствуйте, уважаемые форумчане! Столкнулся с очень интересной проблемой, которую не могу сам который день решить, и вот обращаюсь к вам....

Отобразить содержимое rtf файла с картинками во View - Программирование Android
Всем привет. Я гуглил вчера целый день, пришло время обращаться к разуму сообщества. Как отобразить в приложении содержимое rtf файла?...

RecyclerView с картинками или xml разметка что лучше? - Программирование Android
У меня есть 2 вопроса, может вам они покажутся глупыми, но я в этом пока что не очень разбираюсь: 1) RecyclerView отображает список...

1
vxg
Модератор
3184 / 1987 / 227
Регистрация: 13.01.2012
Сообщений: 7,680
16.10.2015, 14:37 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Japanese Посмотреть сообщение
и грузит картинки!!!
видать картинки там в папке assets, а у вас в ресурсах. либо засуньте drawable в assets (в этом случае я думаю что вы не сможете ссылаться на эту картину) либо грузите из ресурсов чем то вроде
Java
1
getClass().getResourceAsStream("/res/drawable/123.png")
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2015, 14:37
Привет! Вот еще темы с ответами:

Каким образом нужно работать с картинками при создании приложения? - Программирование Android
Люди добрые, подскажите мне такую вещь. Каким образом нужно работать с картинками при создании приложения? Я работаю в Android Studio, у...

Виртуальный сервер бредятина - Apache, htaccess
Такой вот у меня конфиг: NameVirtualHost *:80 &lt;VirtualHost 192.168.0.96:80&gt; ServerAdmin мояпочта@yandex.ru ...

.NET 4.x ComboBox с картинками - C#
Возможно ли сделать ComboBox с картинками и текстом одновременно? Ну что бы в списке допустим были с лева картинка (небольшой значок) а...

Работа с картинками - PHP
Добрый день! Не могу понять как работать с картинками. Мне необходимо взять картинку из одной папки, изменить ее размер и переместить в...


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

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

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