gpt4 book ai didi

android - 如何从具有图像 url 列表的服务器从 json 加载 gridview 中的图像

转载 作者:行者123 更新时间:2023-11-29 17:13:47 29 4
gpt4 key购买 nike

我正在创建一个画廊应用程序..这里有描述。 http://www.androidhive.info/2012/02/android-gridview-layout-tutorial/

我能够从可绘制资源中实现这一点。我需要的是我想从服务器获取图像 url 作为 json 并显示它。我的 Json 格式是: http://52.42.251.70/testData/imagelist.php

fragment 代码:

public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
GridView gridView = (GridView)getView().findViewById(R.id.grid_view);

// Instance of ImageAdapter Class
gridView.setAdapter(new ImageAdapter(this.getActivity()));

/**
* On Click event for Single Gridview Item
* */
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(getActivity(), FullImageActivity.class);
// passing array index
i.putExtra("id", position);
startActivity(i);
}
});
}

图像适配器.java

public class ImageAdapter extends BaseAdapter {
private Context mContext;
JSONObject jsonobject;
DatabaseUserTable myDatadb;
JSONArray jsonarray;
String imageUrl = "";
String id = "";
ArrayList<String> Urls = new ArrayList<String>();
// Keep all Images in array
public Integer[] mThumbIds = {
R.drawable.imagewall,R.drawable.imagewall,
R.drawable.imagewall,R.drawable.imagewall,
R.drawable.imagewall,R.drawable.imagewall,
R.drawable.imagewall,R.drawable.imagewall,
R.drawable.imagewall,R.drawable.imagewall,
R.drawable.imagewall,R.drawable.imagewall,
R.drawable.imagewall,R.drawable.imagewall,
R.drawable.imagewall
};

// Constructor
public ImageAdapter(Context c){
mContext = c;
}

@Override
public int getCount() {
return mThumbIds.length;
}

@Override
public Object getItem(int position) {
return mThumbIds[position];
}

@Override
public long getItemId(int position) {
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mThumbIds[position]);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(220, 220));
return imageView;
}
}

最佳答案

您可以使用 picasso 库来做同样的事情。

配置

compile 'com.squareup.picasso:picasso:2.5.2' 放入您的模块级 build.gradle 文件中。

使用

替换 imageView.setImageResource(mThumbIds[position]);with Picasso.with(getActivity()).load("图片的 URL").into(imageView);

对于您的网址,它似乎是一个图像网址列表。因此您可以在收到响应后将此列表传递给您的适配器。

关于android - 如何从具有图像 url 列表的服务器从 json 加载 gridview 中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39829799/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com