Я создаю новое приложение для Android, я почти закончил первый экран. Однако, как только я достигаю нижней части экрана, вместо загрузки новых данных приложение бросает меня прямо в начало страницы.
API, который я использую, отправит следующую страницу, когда я отправлю запрос на вторую страницу. Не могли бы вы рассказать мне, как я могу сделать приложение таким, чтобы оно автоматически отправляло запрос на вторую страницу, прежде чем пользователь дойдет до конца первой страницы.
Я использую библиотеку volley вместе с recyclerView и cardView. Не могли бы вы четко объяснить, где я должен вносить изменения, я новичок в разработке приложений.
Вот запрос залпа:
private void discoverMovies() {
final ProgressDialog progressDialog = new ProgressDialog(getContext());
progressDialog.setMessage("Fetching Data From DB");
progressDialog.show();
//Requesting the data.....
StringRequest stringRequest = new StringRequest(Request.Method.GET, tempURL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
progressDialog.dismiss();
JSONObject parentObject = new JSONObject(response);
JSONArray parentArray = parentObject.getJSONArray("results");
for (int i = 0; i < parentArray.length(); i++) {
JSONObject object = parentArray.getJSONObject(i);
movieModel model = new movieModel(
object.getString("title"),
object.getString("overview"),
object.getString("release_date"),
object.getString("poster_path"),
object.getInt("id"),
object.getBoolean("adult"),
object.getInt("vote_count"),
object.getDouble("vote_average"),
object.getString("original_language"),
object.getString("backdrop_path")
);
movieModels.add(model);
adapter = new cardViewAdapter(getContext(), movieModels);
recyclerView.setAdapter(adapter);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
Toast.makeText(getActivity(), error.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
requestQueue.add(stringRequest);
}