2017-06-15 17 views
-3

私はアンドロイドの新機能で、APIからフェッチするポスターを表示するようにコーディングしています。問題は実行後に1つのポスターのみを表示します。私にいくつかのあなたは、サーバーからの画像の一覧を表示するrecylerviewをしなければならないイメージビューですべてのイメージを表示する方法

1.poster_image.xml

<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/poster" 
android:layout_width="500dp" 
android:layout_height="60dp" /> 

2.MainActivity.java

public class MainActivity extends AppCompatActivity { 

ArrayList<String> moviesList = new ArrayList<>(); 
ImageView mImageView; 
String url = "https://api.themoviedb.org/3/movie/popular?api_key=(MY API KEY)"; 
String image_url = "http://image.tmdb.org/t/p/w185"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.poster_image); 


    mImageView = (ImageView) findViewById(R.id.poster); 

    // Fetch Data from API 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, 
      new Response.Listener<JSONObject>() { 

       @Override 
       public void onResponse(JSONObject response) { 
        try { 
         JSONArray jsonArray = response.getJSONArray("results"); 

         for (int i = 0; i < jsonArray.length(); i++) { 
          JSONObject movies = jsonArray.getJSONObject(i); 

          String poster = movies.getString("poster_path"); 


          moviesList.add(poster); 
          Log.i("IS", String.valueOf(moviesList)); 
         } 


         for (int j = 0; j < moviesList.size(); j++) { 
          Picasso.with(getApplicationContext()) 
            .load(image_url + moviesList.get(j)) 
            .into(mImageView); 

          Log.i("I", image_url + moviesList.get(j)); 
         } 

        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, 
      new Response.ErrorListener() { 

       @Override 
       public void onErrorResponse(VolleyError error) { 
        Log.e("Error", "Wrong"); 
       } 
      }); 

    requestQueue.add(jsonObjectRequest); 
} 
} 
+0

ListViewを使用する場合はどうすればよいですか?私はアダプタが必要ですか?ありがとう – Ricky

+0

リストビューを使用しないRecyclerViewカスタムリサイクラーアダプターを作成する –

+0

イメージビューのリストを表示するために、リストビューまたはリサイクルビュー(推奨)を使用すると、それらのほとんどすべてのサンプルが画像のリストに表示されますので、簡単に見つけることができます – yanivtwin

答えて

0

に助言をお願いします。 Glide、Picasso、Frescoを使用してサーバーから画像を読み込みます。 このリンクをたどります。 Show images in recylerview from server

関連する問題