2012-11-02 8 views
3

Я добавляю кнопку в ImagePagerActivity для установки изображения в качестве фона телефона. Функция сама по себе хорошо работает (я могу установить значок приложения как bg, если я установил R.drawable.icon).Универсальный загрузчик изображений: как поймать идентификатор просматриваемого изображения?

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

Например, R.id.image отправляет «false», R.layout.item_pager_image отправляет XML-путь (нормально, это нормально, это было просто для тестирования) и т. Д. Я действительно не знаю, какое значение я мог бы использовать, чтобы сказать «эй» , поставьте эту картинку, на которую я смотрю, как мой новый фон телефона ».

Вот код, который я использую незадолго до последнего } в ImagePagerActivity.java. (да, код обоев прокомментирован, я печатаю значения для отладки)

Спасибо за помощь!

public void onWallpaperClick(View view) { 
     openMyDialog(null); 
    } 

    public void openMyDialog(View view) { 
     showDialog(10); 
    } 

    //@Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case 10: 
      // Create our AlertDialog 
      Builder builder = new AlertDialog.Builder(this); 
      builder.setMessage("Définir cette photo comme fond d'écran de votre appareil ?") 
        .setCancelable(true) 
        .setPositiveButton("Oui", 
          new DialogInterface.OnClickListener() { 
           @Override 
           public void onClick(DialogInterface dialog, 
             int which) { 
            // Ends the activity 
            //HomeActivity.this.finish(); 
            WallpaperManager myWallpaperManager 
            = WallpaperManager.getInstance(getApplicationContext()); 
            //try { 
            //myWallpaperManager.setResource(R.id.image); 
            //} catch (IOException e) { 
            // e.printStackTrace(); 
            // } 
            Toast.makeText(getApplicationContext(), 
              R.drawable.icon, 
              Toast.LENGTH_SHORT).show(); 

           } 
          }) 
        .setNegativeButton("Non", 
          new DialogInterface.OnClickListener() { 

           @Override 
           public void onClick(DialogInterface dialog, 
             int which) { 
            Toast.makeText(getApplicationContext(), 
              "Ok !", 
              Toast.LENGTH_SHORT).show(); 
           } 
          }); 

      return builder.create(); 
     } 
     return super.onCreateDialog(id); 
    } 

ответ

0

Установка изображение рисует идентификатор в качестве своего тега в XML с андроида: тег или программно с ImageView.setTag(), а затем получить его с помощью метода ImageView.getTag().

+0

Thx Я попытаюсь это как можно скорее. Я прокомментирую результат. – Taklo

+0

Мне это не удалось. Не уверен, но я думаю, что с UAL это невозможно, так как он загружает изображения. – Taklo

1

Вы могли бы попробовать это, если тезисы метода в ту же деятельность Displayer:

На ImageLoadingListener :: OnLoadingComplete (Bitmap растровых) методы, вы можете получить растровые загружены, поэтому обрабатывать битовый массив с атрибутом.

public class myActivity { 
    Bitmap current_bitmap; 
{...} 
    imageLoader.displayImage(images[position], imageView, options, 
     new ImageLoadingListener() { 
      @Override 
      public void onLoadingComplete(Bitmap loadedImage) { 
       current_bitmap = loadedImage; 
      } 
      {...} 
     } 
} 

И вы можете получить его использовать с WallpaperManager

WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext()); 
try { 
    myWallpaperManager.setBitmap(current_bitmap); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
+1

Спасибо! Это работает! .. Иногда. Я объясняю: иногда правильное изображение задается как обои, иногда изображение из списка, иногда следующее изображение из списка ... Я не вижу логического. – Taklo

+0

Если это может вам помочь, вот полный текст статьи. Https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/UniversalImageLoaderExample/src/com/nostra13/example/universalimageloader/ImagePagerActivity. java – Taklo

+0

Taklo У меня такая же проблема, как и вы. Вы нашли решение ? – Joolah

 Смежные вопросы

  • Нет связанных вопросов^_^