Добавление изображений в элементы ListView и детали - PullRequest
0 голосов
/ 09 февраля 2012

Привет всем, я следил за этим уроком: http://coenraets.org/blog/android-samples/androidtutorial/. Я получил то, что мне было нужно, но теперь у меня возникла проблема. По сути, мне нужно добавить картинку для каждого сотрудника. Я хочу создать уменьшенное изображение в списке и полноразмерное фото на странице сведений. Как я могу это сделать?

Я пытался добавить маркер фото в базу данных

String sql = "CREATE TABLE IF NOT EXISTS employee (" +
                        "_id INTEGER PRIMARY KEY AUTOINCREMENT, " + 
                        "firstName TEXT, " +
                        "lastName TEXT, " +
                        "title TEXT, " +
                        "officePhone TEXT, " +
                        "cellPhone TEXT, " +
                        "email TEXT, " +
                        photo IMAGE," + "managerId INTEGER)";
        db.execSQL(sql);

тогда я добавил values.put("photo", "@drawable/icon");.

Затем в EmployeeDetails я добавил эту строку:

photo = (ImageView) findViewById(R.id.image);
photo.setTag(cursor.getString(cursor.getColumnIndex("photo")));

Конечно, я импортировал ImageView и protected ImageView photo; и для макета Подробности я добавил:

<ImageView
        android:id="id/image
        android:layout_width="wrap_content"
        android:layout_heigh=wrap_content

Спросите, не удалось ли мне разобраться в этом достаточно ясно. Я пытался поместить фотографию в раздел с подробностями о сотруднике. Я не пытался сделать миниатюрное изображение, но дело в том, что я все сделал, и все получилось без ошибок, но при запуске приложения происходит сбой.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Это зависит от того, откуда исходит изображение. Попробуйте this или this , однако у меня также есть проблема с преобразованием изображений из строки в рисованные.

0 голосов
/ 10 февраля 2012

используя BLOB-хранилище и извлекая изображение из базы данных, это даст лучшую идею:

вы также сохраняете путь к папке ресурсов в db как текст и используете его для извлечения пути из sql:тогда ваш sql:

String sql = "CREATE TABLE IF NOT EXISTS employee (" +
                    "_id INTEGER PRIMARY KEY AUTOINCREMENT, " + 
                    "firstName TEXT, " +
                    "lastName TEXT, " +
                    "title TEXT, " +
                    "officePhone TEXT, " +
                    "cellPhone TEXT, " +
                    "email TEXT, " +
                    "photo Text," + 
                    "managerId INTEGER)";
    db.execSQL(sql);

тогда вы можете получить отрисовку из папки активов:

Drawable d = Drawable.createFromStream(getAssets().open("path_from_db"), null);
img.setBackgroundResource(d);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...