@Override
public void onResponse(final Response response) throws IOException {//okhttp onresponse method
try {
After getting response follow below code,
First create below 2 elements at top out side of all methods.
List<CurrentMovie> moviesList = new ArrayList<>();
MovieAdapter mAdapter;
// Now on response change code as below
if (response.isSuccessful()) {
manageJson(json);
}
public void manageJson(String result)
{
try
{
movieList = new ArrayList<>();
JsonArray jsonArray = new JSONArray(result);
for(int i = 0; i < jsonArray.length(); i++)
{
JSONObject jsonObject = jsonArray.getJsonObject(i);
String Title = obj.getString("Title");
String imgg = obj.getString("PosterPath");
Currentmovie c = new Currentmovie();
c.setImageView(imgg);
c.setTitle(Title);
movieList.add(c);
}
mAdapter = new MovieAdapter(YourActivityName.this, movieList);
listViewObject.setAdapter(mAdapter);
}
catch(Exception e)
{
System.out.println("Error in Result as " + e.toString());
}
}
Now Take one Adapter to set Data in ListView
public class MovieAdapter extends BaseAdapter
{
private final Context context;
private List<CurrentMovie> movieData;
private static LayoutInflater inflater=null;
public MovieAdapter(Context context, List<CurrentMovie> movieData)
{
this.context = context;
this.movieData = movieData;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return movieData.size();
}
@Override
public Object getItem(int position) {
return movieData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public static class ViewHolder{
public TextView movieTitle;
public ImageView movieImage;
}
public View getView(int position, View convertView, ViewGroup parent)
{
View vi = convertView;
ViewHolder holder;
if(convertView==null){
vi = inflater.inflate(R.layout.tabitem, null);
holder = new ViewHolder();
holder.movieTitle = (TextView) vi.findViewById(R.id.title);
holder.movieImage=(ImageView)vi.findViewById(R.id.image);
vi.setTag( holder );
}
else
holder=(ViewHolder)vi.getTag();
holder.movieTitle.setText(movieData.get(position).getTitle());
return vi;
}
}