NetworkImageView - 从php文件显示多个图像

时间:2014-12-17 04:15:10

标签: android json android-listview imageview

我正在使用NetworkImageView在AndroidStudio中工作,我必须在下面的PHP文件中显示图像(其中有两个以上,但这里列出的时间太长了),在{{ 1}}。我明白我应该使用ListView?在我发现的所有例子中,他们都使用了一个图片网址,但在这种情况下,我会把它放在那里?

或者我是否必须在GetImageUrl

中的某处包含image_url
ImageLoader

我在列表项的xml文件中有这个:

{
    "image_url": "http://tashdarcy.com/menu/images/1.jpg",
    "record_id": 11868,
    "title": "Congratulations to John on EPSRC funding",
    "date": "08/12/2014",
    "short_info": "A new EPSRC grant has been awarded to Dr John Batchelor as part of a GBP 1.9M project entitled: Adaptive Assistive Rehabilitative Technology"
}

我在另一个班级中有 <com.android.volley.toolbox.NetworkImageView android:id="@+id/imageUrl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="centerCrop"/>

imageLoader

你能告诉我如何实现它吗?我明白它需要进入我的列表类的 public void onCreate() { super.onCreate(); instance = this; reqQueue = Volley.newRequestQueue(getApplicationContext()); imageLoader = new ImageLoader(reqQueue, new ImageLoader.ImageCache() { private final LruCache<String, Bitmap> mCache = new LruCache<String, Bitmap>(20); public void putBitmap(String url, Bitmap bitmap) { mCache.put(url, bitmap); } public Bitmap getBitmap(String url) { return mCache.get(url);

1 个答案:

答案 0 :(得分:1)

我不太确定您的问题是什么......所有内容都在您发布的链接中进行了解释。

  1. 您需要将该JSON解析为POJO对象
  2. 然后,使用该POJO对象列表填充最终填充ListView的ArrayAdapter
  3. ArrayAdapter中,您将使用NetworkImageView方法设置个人setImageUrl网址...例如,这是getView方法的代码段来自您发布的链接的ArrayAdapter ...

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
    
        if (v == null) {
            LayoutInflater vi = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.lv_picasa_row, null);
        }
    
        ViewHolder holder = (ViewHolder) v.getTag(R.id.id_holder);       
    
        if (holder == null) {
            holder = new ViewHolder(v);
            v.setTag(R.id.id_holder, holder);
        }        
    
        PicasaEntry entry = getItem(position);
        if (entry.getThumbnailUrl() != null) {
            holder.image.setImageUrl(entry.getThumbnailUrl(), mImageLoader);
        } else {
            holder.image.setImageResource(R.drawable.no_image);
        }
    
        holder.title.setText(entry.getTitle());
    
        return v;
    }
    

    更具体,这里是ArrayAdapter实施......

    https://github.com/ogrebgr/android_volley_examples/blob/master/src/com/github/volley_examples/misc/PicasaArrayAdapter.java

    如您所见,您可以完全访问源代码示例。这就是你设置图片网址的方式......

    holder.image.setImageUrl(entry.getThumbnailUrl(), mImageLoader);
    

    其中image是您的NetworkImageView。什么还不清楚?