Analizzare dati da Json come raccolta di immagini a Picasso

Ho cercato di analizzare una collezione di immagini per gridview come gridview utilizzando la biblioteca di Picasso , ma non posso farlo funzionare

Nota: non ho alcun errore ma non funziono Qui i dati di Json un collegamento

  • Android - sendOrderedBroadcast aiuto
  • Crea versioni gratuite / pagate di applicazione da uno stesso codice
  • Come forzare l'uso del menu di overflow sui dispositivi con il button menu
  • Sound di notifica di Android 7.0 da File Provider Uri non suonare
  • Aggiungi effetti shadow drop a Field EditText
  • Come faccio a fare una richiesta Volley JSONObject con un object personalizzato come parametro?
  • Il mio module

     public class ImagesModule { public ArrayList getListTest() { return listTest; } public void setListTest(ArrayList listTest) { this.listTest = listTest; } ArrayList listTest = new ArrayList( ); } 

    questo è l'Adattatore`

     public class ImageViewAdapter extends RecyclerView.Adapter<ImageViewAdapter.ViewHolder> { List<ImagesModule> imagesModules; Context context; public ImageViewAdapter(List<ImagesModule> imagesModules, Context context){ super(); this.imagesModules = imagesModules; this.context = context;} @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from( parent.getContext() ).inflate( R.layout.imageitem, parent,false ); ViewHolder viewHolder = new ViewHolder( v ); return viewHolder;} @Override public void onBindViewHolder(ViewHolder holder, int position) { final ImagesModule imagesModule = imagesModules.get( position ); Picasso.with(context).load(String.valueOf(imagesModule.getListTest())).into(holder.appImage);} @Override public int getItemCount() { return imagesModules.size(); } class ViewHolder extends RecyclerView.ViewHolder { public android.widget.ImageView appImage; public ViewHolder(View itemView) { super( itemView ); appImage = (android.widget.ImageView) itemView.findViewById( R.id.imagegallary); }}} 

    e questo è il frammento

     public class ImageViewFragment extends Fragment { List<ImagesModule> imagesModules; List<ImagesModule> imagesModule; RecyclerView AppRecyclerView; RecyclerView.Adapter imageRecyclerViewadapter; String jsonUrl = "https://itunes.apple.com/jo/rss/topfreeapplications/limit=50/json"; RequestQueue requestQueue; private RecyclerView.LayoutManager mLayoutManager; public ImageViewFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_image_view, container, false); } public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); AppRecyclerView = (RecyclerView) getView().findViewById(R.id.imageRecyclerView); imagesModule = new ArrayList<>(); imagesModules = new ArrayList<>(); JsonAppShowData(); } public void JsonAppShowData() { final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest( jsonUrl, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { ImagesModule imagesModule = new ImagesModule(); JSONArray jsonArray = response.getJSONObject("feed").getJSONArray("entry"); for (int i = 0; i < jsonArray.length(); i++) { JSONArray imageArray = response.getJSONObject("feed").getJSONArray("entry").getJSONObject(i).getJSONArray("im:image"); for (int j =0; j < imageArray.length(); j++) { ArrayList listTest = new ArrayList( ); String image = imageArray.getJSONObject(j).getString("label"); listTest.add(image); imagesModule.setListTest(listTest); imagesModules.add(imagesModule);}} imageRecyclerViewadapter = new ImageViewAdapter(imagesModules,getContext()); AppRecyclerView.setAdapter(imageRecyclerViewadapter); } catch (JSONException e) {e.printStackTrace(); }}}, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e( "LOG", error.toString() );}}); requestQueue = Volley.newRequestQueue(getContext()); requestQueue.add(jsonObjectRequest); mLayoutManager = new GridLayoutManager(getContext().getApplicationContext(),3); AppRecyclerView.setLayoutManager(mLayoutManager);}} 

  • Sfogliare la casella di controllo selezionata senza essere selezionata usando listiview
  • Come posso avere un'icona / logo ActionBar che sovrappone anche il contenuto?
  • Zoom in una canvas con function canvas.scale?
  • EditText con tastiera numbersca per impostazione predefinita, ma consentendo i caratteri alfabetici
  • Chiudere / hide la tastiera Android Soft
  • Motivo di progettazione MVC per lo sviluppo di applicazioni Android usando Frames as Views e Activity as Controller
  • 2 Solutions collect form web for “Analizzare dati da Json come raccolta di immagini a Picasso”

    Avrebbe bisogno di un List<String> imageUrls per salvare URL da visualizzare da picasso, senza bisogno di object speciale per questo. Per risolverlo, modificare il codice di analisi di json

     try { JSONArray entries = response.getJSONObject("feed").getJSONArray("entry"); int count = entries.length(); for (int i = 0; i < count; i++) { JSONObject imageJson = entries.getJSONObject(i).getJSONObject("im:image"); // in case you want to get image with height 53 String imageUrl = imageJson.getJSONObject("0").getString("label"); // String imageUrl = imageJson.getJSONObject("1").getString("label"); height 75 // String imageUrl = imageJson.getJSONObject("2").getString("label"); height 100 // add urls to the list imageUrls.add(imageUrl); } } catch (JSONException e) { e.printStackTrace(); } 

    quindi cambiare l'adattatore per avere un List<String> imageUrls anziché List<ImagesModule> imagesModule e passare l'elenco analizzato al constructor. Infine nell'adattatore onBindViewHolder() modifica il codice picasso

     Picasso.with(context).load(imageUrls.get(position)).into(holder.appImage); 

    spero che sia d'aiuto

    Non è ansible caricare più immagini in un singolo ImageView modo da provare a caricare each image in ImageView diverso, come ho osservato ci sono 3 numbers di immagini fisse in each module in modo aggiungere 3 ImageViews nel layout xml e applicare le immagini separatamente.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.