2013-06-13 63 views
0

我使用的volley如何從xml資源中加載drawable lazily?資源ID只在第一次不是整個繪製的圖像

我想設置繪製的圖像資源ID和錯誤繪製資源ID對XML資源的NetworkImageView NetworkImageView。 所以,我修改了源代碼,它的工作原理。

的Java

public NetworkImageView(Context context, 
    ... 
     final TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.NetworkImageView, defStyle, 0); 
    mDefaultDrawable = ta.getDrawable(R.styleable.NetworkImageView_defaultImage); 
    mErrorDrawable = ta.getDrawable(R.styleable.NetworkImageView_errorImage); 

XML

<...NetworkImageView 
    xmlns:custom="http://schemas.android.com/apk/res/..." 
    custom:resultScaleType="centerCrop" 
    custom:errorImage="@drawable/no_image_icon" 
    custom:errorScaleType="centerInside" 
    custom:loupeViewId="@id/..." 
      ... 
/>  

但是,問題是,NetworkImageView總是加載默認的和錯誤的繪製,即使他們並不需要在第一時間。

我覺得有太多的廢物,當我在ListView顯示出許多ImageViews

我希望在需要時加載資源。所以,我只想在第一時間加載資源ID。

兩個TypedArray.getResourceId()TypedArray.getInt()不起作用。

你能幫助我嗎?

+0

你嘗試使用stubView? – dvrm

回答

0

從開發商:

ViewStub是不可見的,零大小的觀點,即可以用於在運行時懶惰地 充氣佈局資源。

也許這條信息能使你受益?

+0

感謝您的回答。然而,我認爲ViewStub不能幫助我,因爲我只需要使一個ImageView變成「defaultImage - > resultImage」或者「defaultImage - > errorImage」。 –