2012-11-02 41 views
3

我在ImagePagerActivity中添加一個按鈕,將圖像設置爲手機的背景。 功能本身運行良好(如果我設置R.drawable.icon,我可以將應用程序的圖標設置爲bg)。通用圖像加載器:如何捕捉瀏覽圖像的id?

問題是我嚴格不知道如何捕捉圖像ID,以便人們可以設置爲他們當前瀏覽的圖像。我嘗試了很多東西,但沒有任何工作。

例如,R.id.image發送「false」,R.layout.item_pager_image發送XML路徑(好的,這是正常的,它只是用於測試)等等......我真的不知道我可以用什麼值來說「嘿,把我正在看的這張照片作爲我的新手機背景「。

這裏是我在ImagePagerActivity.java的最後}之前使用的代碼。 (是的壁紙代碼被評論,我打印值調試)

感謝您的幫助!與ImageView.setTag()標籤或編程,後來與ImageView.getTag()方法得到它:

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

設置圖像繪製ID作爲它的標籤,在與Android的XML。

+0

THX我會盡快嘗試。我會評論結果。 – Taklo

+0

我沒能成功。不知道,但我認爲,與UAL這是不可能的,而他的方式它加載圖像。 – Taklo

1

你可以試試這個,如果論文的方法是到顯示器的同一活動:

在ImageLoadingListener :: OnLoadingComplete(位圖位圖)方法,你可以得到位圖加載,所以與屬性處理位圖。

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