Я пытаюсь получить более 50 результатов из плейлиста. Я пытаюсь с помощью al oop получить аргумент "nextpagetoken" и получить результаты. Но это просто не дает желаемых результатов. Я не знаю, где я ошибаюсь. На самом деле я пытаюсь сделать его динамическим c, поскольку идентификатор списка воспроизведения получен из другого класса, а затем должны быть показаны все результаты. Моя деятельность
public static String title=null,pgtoken="",tok="",murl="",en="&pageToken=";
public static String imageurl=null;;
String playlist_id ="PLS1QulWo1RIbfTjQvTdj8Y6yyq4R7g-Al";` public String passtr = "exoplayer";
ArrayAdapter arrayAdapter;
ImageLoader imageLoader;
public Context context = getBaseContext();
public static Context baseContext;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exoplayer);
textView =(TextView)findViewById(R.id.text) ;
baseContext = getBaseContext();
recyclerView =(RecyclerView)findViewById(R.id.recycler1);
arrayList = new ArrayList();
token = new ArrayList();
ArrayList title=null,imageurl[]=null;
arrayList2 = new ArrayList();
url = new ArrayList<>();
mQueue = Volley.newRequestQueue(this);
jsonParse();
}
private void jsonParse() {
murl = "https://www.googleapis.com/youtube/v3/playlistItems?
part=snippet%2CcontentDetails&maxResults=50"+tok+"&playlistId="+playlist_id+"&key="+key;
url.add(murl);
j = url.size();
for(int i =0 ;i<j;i++)
{
final int finalI = i;
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url.get(i), null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
pgtoken = response.getString("nextPageToken");
if (response.has("nextPageToken")) {
Toast.makeText(getBaseContext(),"reponse found
"+url.size(),Toast.LENGTH_SHORT).show();
tok = en + pgtoken;
url.add(murl);
}
JSONArray jsonArray = response.getJSONArray("items");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject employee = jsonArray.getJSONObject(i);
JSONObject employee2 = employee.getJSONObject("snippet");
employee2.getJSONObject("title");
JSONObject employee3 = employee.getJSONObject("snippet").getJSONObject("thumbnails").getJSONObject("default");
title = employee2.getString("title");
imageurl = employee3.getString("url");
arrayList2.add(imageurl);
arrayList.add(title);
}
} catch (JSONException e) {
e.printStackTrace();
}
textView.append(url.get(finalI));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
mQueue.add(request);
recyclerdata();
}
}
public void recyclerdata(){
youtube_adapter = new Youtube_adapter(arrayList, arrayList2, getApplicationContext(), passtr);
// arrayList.add(new Youtube_adapter(title,imageurl,getApplicationContext()));
GridLayoutManager GridLayoutManager = new GridLayoutManager(getApplicationContext(), 1);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(linearLayoutManager);
arrayAdapter = new ArrayAdapter(getBaseContext(), android.R.layout.simple_list_item_1, arrayList);
recyclerView.setAdapter(youtube_adapter);
}
Я знаю, что этот код может быть не идеальным, поэтому, пожалуйста, предоставьте отдельный код для этого. Заранее спасибо