2017-06-15 136 views
-3

我是Android新手,尝试编码以显示从API获取的海报,问题出现在运行后,然后它只显示一张海报。请给我一些建议如何在图像视图中显示所有图像

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

不使用listView使用RecyclerView创建自定义回收站适配器 –

+0

使用listview或recyclerview(首选)与适配器来显示图像浏览列表,几乎他们的每个例子都显示与图像列表,因此它会很容易找到 – yanivtwin

回答