Soru & Cevap

Android Studio Web Servisten gelen resimler

29.07.2019 - 05:42

Merhaba,

 

Kendi web servisimden gelen resimleri imageview içerisinde listelemek istiyorum bunun için JSONArray uzunluğu kadar for döngüsü oluşturup resimlerin tümünü aldım fakat sorun şu ki bu uzunluk kadar imageview oluşturma konusunda sorun yaşıyorum. Bu yüzden gelen tüm resimler üst üste ekleniyor. Bunun için layout kısmı nasıl olmalı veya for döngüsü içerisinde nasıl bir işlem yapmalıyım ? Şimdiden teşekkürler.

 

public void onResponse(Call call, final Response response) throws IOException {
                if(response.isSuccessful()){
                    try{

                        String result = response.body().string();
                        JSONArray obj = new JSONArray(result.substring(result.indexOf("["), result.lastIndexOf("]") + 1));
                        for ( int i = 0; i < obj.length(); i++) {
                            JSONObject entry = obj.getJSONObject(i);
                            final String imgLink = entry.getString("image");


                            runOnUiThread(new Runnable() {

                                @Override
                                public void run() {


                                    new DownloadImageTask((ImageView)findViewById(R.id.imageView))
                                            .execute(imgLink);
                                }
                            });






                        }





                    }catch (JSONException e){
                        Log.d("JSONHata", e.toString());
                    }
                }else{
                    Log.d("Response: " , "FAILED");
                }
            }

 

17 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user mertmutlu
mertmutlu
30.07.2019 - 12:02

Try Catch dışında şu şekilde bir genel tanımlama yaptım ;
final RelativeLayout linearLayout= new RelativeLayout(this); linearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

For döngüsü içinde de bu şekilde bir tanımlama;
ImageView imageView = new ImageView(this);

Picasso.get().load(imgLink).into(imageView); imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));

 

Bu şekilde servislerden gelen obje sayısı kadar imageview oluşmuş oldu, sorun çözüldü :)