Moayed I. Alayseh Moayed I. Alayseh - 1 year ago 77
Android Question

Parsing List of image From Json data to Piccaso image loader

i have this Json Data
this data have a Json Array name "im:image" have a list of image urls and i tried to parsing this list to Picasso on the recycler view but its not woriking and i have a error in the picasso cannot resolve "load" ! any idea ?

this is my Module

private List<String> Allimage = new ArrayList<String>();
public List<String> getAllimage() {
return Allimage;}
public void setAllimage(List<String> allimage) {
Allimage = allimage;}

the Adapter

public class ImageListAdapter extends RecyclerView.Adapter<ImageListAdapter.ViewHolder> {
List<AppShowModule> appShowModules;
List<AppShowModule> imageUrls ;

Context context;
public ImageListAdapter(List<AppShowModule> appShowModules, Context context){
this.appShowModules = appShowModules;
this.context = context;}
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from( parent.getContext() ).inflate( R.layout.imagelayout, parent,false );
ViewHolder viewHolder = new ViewHolder( v );
return viewHolder;}
public void onBindViewHolder(ViewHolder holder, int position) {
final AppShowModule appShowModule = appShowModules.get( position );
Picasso.with(context).load( appShowModule.getAllimage() ).into( holder.appImage );

public int getItemCount() {
return appShowModules.size();
class ViewHolder extends RecyclerView.ViewHolder {
public ImageView appImage;
public ViewHolder(View itemView) {
appImage = (ImageView) itemView.findViewById(;

and this is the Fragment `

public class ImageListFragment extends Fragment {

List<AppShowModule> appShowModules;
Context context;
List<AppShowModule> imagesModule;
RecyclerView AppRecyclerView;
ImageView Imageview;
RecyclerView.Adapter imageRecyclerViewadapter;
List<String> imageUrls;
String feedKey = "feed";
String entryKey = "entry";
String nameKey = "im:name";
String imageKey = "im:image";
String labelKey = "label";
String artistKey = "im:artist";
String contentTypeKey = "im:contentType";
String attribueKey = "attributes";
String rightsKey = "rights";
String categoryKey = "category";
String relaseDateKey = "im:releaseDate";
String linkKey = "link";
String hrefKey = "href";
String summaryKey = "summary";
String jsonUrl = "";
RequestQueue requestQueue;
private RecyclerView.LayoutManager mLayoutManager;
public ImageListFragment() {
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_image_list, container, false);
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
AppRecyclerView = (RecyclerView) getView().findViewById(;
imagesModule = new ArrayList<>();
appShowModules = new ArrayList<>();
imageUrls = new ArrayList<>();
public void JsonAppShowData() {
final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest( jsonUrl, new Response.Listener<JSONObject>() {
public void onResponse(JSONObject response) {
try {

JSONArray jsonArray = response.getJSONObject("feed").getJSONArray( "entry" );
AppShowModule appShowModule = new AppShowModule();
for (int i = 0; i < jsonArray.length(); i++) {

String image = response.getJSONObject(feedKey).getJSONArray(entryKey).getJSONObject(0).getJSONArray(imageKey).getJSONObject( 0 ).getString(labelKey).toString();
imageRecyclerViewadapter = new ImageListAdapter(appShowModules,getContext());
} catch (JSONException e) {

}, new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
Log.e( "LOG", error.toString() );
} );
requestQueue = Volley.newRequestQueue( getContext() );
mLayoutManager = new GridLayoutManager( getContext().getApplicationContext(),3);
AppRecyclerView.setLayoutManager(mLayoutManager); }}

Answer Source

You are trying to load complete list string by doing appShowModule.getAllimage() which is wrong. try to do following.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download