2013-11-20 4 views
1

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

Я понимаю, что я должен добавить в строках моего курсора для столбцов, определенных SearchManager.SUGGEST_COLUMN_ICON_1 являются (как указано в documentation:

  1. контента (SCHEME_CONTENT)
  2. android.resource (SCHEME_ANDROID_RESOURCE)
  3. файл (SCHEME_FILE)

То, что я пытался до сих пор является следующее:

private void generateSuggestionsCursor(MatrixCursor cursor, Cursor userCursor) { 
      long id = cursor.getCount(); 

      userCursor.moveToFirst(); 
      while (!userCursor.isAfterLast()) { 
       String userName = userCursor.getString("username"); 
       String uriImage = userCursor.getString("urlImage"); 
       File imageAsNeeded = ImageLoader.getInstance().getDiscCache().get(uriImage); 
       Uri urlAsNeeded = Uri.parse(imageAsNeeded.toString()); 
       cursor.newRow().add(id).add(userName).add(urlAsNeeded).add(Intent.ACTION_SEARCH).add(userName); 
       userCursor.moveToNext(); 
      } 
     } 

Проблема в том, что у меня нет изображений, которые я хочу отображать в своем выпадающем меню локально. Я загрузив их из URL, используя Android Universal Image Loader

Я также попытался использовать кэшированные версии фотографий, но URI всегда в следующей форме:

/data/data/com.app.appname/cache/1216470680 

Я попытался предварять file:// or content://, но безуспешно.

Есть ли способ достичь того, чего я хочу?

Suggestion dropdown - Droids should be replaced by a specific image

+0

Нужно ли загружать изображения в Интернете или вы можете их загрузить и сохранить в качестве ресурса? –

+0

В идеале, было бы лучше загрузить изображение с URL-адреса, поэтому он-лайн. Смысл заключается в том, что универсальный загрузчик изображений позволяет вам это сделать, но вам нужно указать, в каком режиме просмотра изображения вы хотите отобразить изображение после загрузки. В моем случае я не могу получить доступ к представлению изображения (afaik) –

+0

Что именно вы хотите? Знать, как кэшировать их в своем приложении? –

ответ

0

Если вы можете поместить их в ресурсах, сделайте так:

В идеале, вам нужен четыре размера, но вы можете получить только с размером вытяжки-ИПЧРА. Чтобы загрузить его, сделайте следующее:

Drawable d = getResources().getDrawable (R.drawable.my_id); 
Смежные вопросы