2016-06-10 71 views
3

我搜索了整個答案但沒有答案來回答我的問題。我有存儲在parse.com上的數據。我試圖檢索一個圖像和一個字符串,並將其放置在列表視圖中。我有一個適配器,我一直用來抓取文本,但不確定如何處理圖像。有一條線我特別需要幫助。使用陣列適配器從列表視圖中檢索parse.com中的圖像

public class AppetizerAdapter extends ArrayAdapter { 

protected Context mContext; 
protected List mAppetizer; 

public AppetizerAdapter(Context context, List appetizer) { 
    super(context, R.layout.custom_appetizers, appetizer); 

    mContext = context; 
    mAppetizer = appetizer; 
} 

// inflates each row of the app 
@Override 
public View getView(final int position, View convertView, ViewGroup parent) { 

    // initialize view holder 
    ViewHolder holder; 
    if (convertView == null) { // If no items in the view to be displayed 
     convertView = LayoutInflater.from(mContext).inflate(
       R.layout.custom_appetizers, null); 

     // initialize the views 
     holder = new ViewHolder(); // creates a new view 
     holder.aPPetizer = (TextView) convertView // calls the view 
       .findViewById(R.id.appetizer); 

     holder = new ViewHolder(); 
     holder.appetizerImage = (ImageView) convertView 
       .findViewById(R.id.appetizerImage); 

     // call the view and setTag to the parameter (holder) 
     convertView.setTag(holder); 

    } else { // if view is previously displayed 

     // initialize holder 
     holder = (ViewHolder) convertView.getTag(); 

    } 

    // get the position of the row 
    ParseObject appetizerObject = (ParseObject) mAppetizer.get(position); 

    // title 
    String appetizers = appetizerObject.getString("appetizers"); 
    holder.aPPetizer.setText(appetizers); 

    // image 
    ??? 
    holder.appetizerImage.setImageResource(); 

    return convertView; // return the view 
} 

public static class ViewHolder { 

    // declaration of variables 
    TextView aPPetizer; 
    ImageView appetizerImage; 

} 

我有一個問題的部分是: //標題 字符串開胃= appetizerObject.getString( 「開胃」); < - 允許我將字符串存儲在「開胃菜」欄 - 這是一個字符串,但對於圖像,我不知道如何對其進行編碼。

任何幫助將不勝感激。預先感謝您

+0

你可以讓它顯示圖像的URL –

+0

你能告訴我怎麼做嗎? – LizG

+0

如何將項目添加到數據庫?通過你的手機?或者手動通過phpMyAdmin? –

回答

2

假設您可以從appetizerObject引用中獲取圖像的URL,則只需從網絡下載位圖並將其設置爲ImageView的位圖即可。

雖然有很多方法可以手動實現,但我建議使用庫來管理下載和緩存過程。從我的經驗,我已經使用了以下庫:

他們都有一個非常簡單的(以及類似)的API。

+0

我試過畢加索。我添加了依賴項:compile'c​​om.squareup.picasso:picasso:2.5.2'到build.gradle。我還添加了.jar文件,但後來發現它是一個重複的錯誤,我將其刪除。我不知道在哪裏放置MAVEN依賴? – LizG

+0

對於圖像,我在標題代碼下添加了另一個視圖(holder.appetizerImage)和此代碼:Picasso.with(getContext())。load(appObject.getParseFile(「imageFiles」)。getUrl())。成(holder.appetizerImageView); - >給我一個錯誤:stack = java.lang.NoClassDefFoundError:失敗的解決方案:Lcom/squareup/picasso/Picasso;在com.lizg.recipedirectory.AppetizerAdapter.getView(AppetizerAdapter.java:64)第64行是代碼i爲Picasso.with開始的圖片寫了... – LizG

+1

您使用的是Android Studio嗎?如果是這樣,你只需要添加'compile'c​​om.squareup.picasso:picasso:2.5.2''到你的build.gradle(應用程序級別的那個)。如果以這種方式包含它,則不需要添加.jar文件。 – EricDS

相關問題