Facebook
From Hot Gorilla, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 134
  1. import android.content.Context;
  2. import android.view.LayoutInflater;
  3. import android.view.View;
  4. import android.view.ViewGroup;
  5. import android.widget.BaseAdapter;
  6. import android.widget.ImageView;
  7. import android.widget.TextView;
  8.  
  9. import java.util.ArrayList;
  10.  
  11. public class HeroAdapter extends BaseAdapter {
  12.  
  13.     private final Context context;
  14.     private ArrayList<Hero> heroes = new ArrayList<>();
  15.  
  16.     void setHeroes(ArrayList<Hero> heroes) {
  17.         this.heroes = heroes;
  18.     }
  19.  
  20.     HeroAdapter(Context context) {
  21.         this.context = context;
  22.     }
  23.  
  24.     @Override
  25.     public int getCount() {
  26.         return heroes.size();
  27.     }
  28.  
  29.     @Override
  30.     public Object getItem(int i) {
  31.         return heroes.get(i);
  32.     }
  33.  
  34.     @Override
  35.     public long getItemId(int i) {
  36.         return i;
  37.     }
  38.  
  39.     @Override
  40.     public View getView(int i, View view, ViewGroup viewGroup) {
  41.         View itemView = view;
  42.         if (itemView == null) {
  43.             //Menghubungkan ViewHolder dengan View
  44.             itemView = LayoutInflater.from(context).inflate(R.layout.item_hero, viewGroup, false);
  45.         }
  46.  
  47.         ViewHolder viewHolder = new ViewHolder(itemView);
  48.  
  49.         //Mengubah nilai pahlawan sesuai dari posisinya
  50.         Hero hero = (Hero) getItem(i);
  51.         viewHolder.bind(hero);
  52.         return itemView;
  53.     }
  54.  
  55.     private class ViewHolder {
  56.         private TextView txtName;
  57.         private TextView txtDescription;
  58.         private ImageView imgPhoto;
  59.  
  60.         ViewHolder(View view) {
  61.             txtName = view.findViewById(R.id.txt_name);
  62.             txtDescription = view.findViewById(R.id.txt_description);
  63.             imgPhoto = view.findViewById(R.id.img_photo);
  64.         }
  65.  
  66.         void bind(Hero hero) {
  67.             txtName.setText(hero.getName());
  68.             txtDescription.setText(hero.getDescription());
  69.             imgPhoto.setImageResource(hero.getPhoto());
  70.         }
  71.     }
  72. }