2016-06-10 55 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

相关问题