2016-07-30 51 views
1

我正在製作我自己的適配器,用圖像和文本填充列表視圖。我希望適配器接受3個參數(Context,String[]和一些圖像陣列)。從服務器調用中存儲圖像數組?

但是,我不確定如何設置這個類。

如果我讓服務器調用來獲取圖像,是否有一種很好的方法將它們存儲在數組中以傳遞到適配器中?

+0

如果你試圖在內存中存儲一​​堆圖像,你可能會崩潰的應用程序,除非他們非常小。如果他們只是一些縮略圖,你可能會確定,但如果他們更大,你可能需要將它們保存到存儲並傳遞一組文件名或類似的東西。 – nasch

回答

0

您可以定義適配器的自定義類來顯示。

class AdapterData { 
    String text; 
    String url; // Some image url from a web service 

    // Or, if you are loading images from disk 
    // int resourceId; 

    public AdapterData(String s, String url) { 
     // TODO 
    } 
} 

然後你實現一個ArrayAdapter<AdapterData>

注意這是一個ListView,而不是一個RecyclerView適配器

class MyAdapter extends ArrayAdapter<AdapterData> { 
    private ArrayList<AdapterData> mData; 
    private Context mContext; 

    public MyAdapter(Content c, ArrayList<AdapterData> data) { 
     super(c, 0, data); 
     this.mContext = c; 
     this.mData = data; 
    } 

    // TODO: Implement getView 
} 

當您從您的網絡服務讓您的結果,建立一個ArrayList和用該列表初始化適配器。

相關問題