how to show in listview??(using okhttp library)

前端 未结 1 1524
抹茶落季
抹茶落季 2020-12-11 12:22
                @Override
                public void onResponse(final Response response) throws IOException {//okhttp onresponse method
                try {


             


        
相关标签:
1条回答
  • 2020-12-11 13:04

    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;
         }
     }
    
    0 讨论(0)
提交回复
热议问题