Advertisement
cyter

CustomSpinnerAdapter

May 21st, 2015
548
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.90 KB | None | 0 0
  1. package com.tutecentral.navigationdrawer;
  2.  
  3. import java.util.List;
  4.  
  5. import android.app.Activity;
  6. import android.content.Context;
  7. import android.view.LayoutInflater;
  8. import android.view.View;
  9. import android.view.ViewGroup;
  10. import android.widget.ArrayAdapter;
  11. import android.widget.ImageView;
  12. import android.widget.TextView;
  13.  
  14. public class CustomSpinnerAdapter extends ArrayAdapter<SpinnerItem>{
  15.  
  16.       public CustomSpinnerAdapter(Context context, int layoutResourceID,
  17.                   int textViewResourceId, List<SpinnerItem> spinnerDataList) {
  18.             super(context, layoutResourceID, textViewResourceId, spinnerDataList);
  19.  
  20.             this.context=context;
  21.             this.layoutResID=layoutResourceID;
  22.             this.spinnerData=spinnerDataList;
  23.  
  24.       }
  25.  
  26.       Context context;
  27.       int layoutResID;
  28.       List<SpinnerItem> spinnerData;
  29.  
  30.       public CustomSpinnerAdapter(Context context, int layoutResourceID,
  31.                   List<SpinnerItem> spinnerDataList) {
  32.             super(context, layoutResourceID, spinnerDataList);
  33.  
  34.             this.context=context;
  35.             this.layoutResID=layoutResourceID;
  36.             this.spinnerData=spinnerDataList;
  37.  
  38.       }
  39.  
  40.       @Override
  41.       public View getDropDownView(int position, View convertView, ViewGroup parent) {
  42.             // TODO Auto-generated method stub
  43.             return getCustomView(position, convertView, parent);
  44.       }
  45.  
  46.       @Override
  47.       public View getView(int position, View convertView, ViewGroup parent) {
  48.             // TODO Auto-generated method stub
  49.             return getCustomView(position, convertView, parent);
  50.       }
  51.  
  52.       public View getCustomView(int position, View convertView, ViewGroup parent) {
  53.  
  54.             View row=convertView;
  55.             SpinnerHolder holder;
  56.  
  57.             if(row==null)
  58.             {
  59.                   LayoutInflater inflater=((Activity)context).getLayoutInflater();
  60.  
  61.                   row=inflater.inflate(layoutResID, parent, false);
  62.                   holder=new SpinnerHolder();
  63.  
  64.                   holder.userImage=(ImageView)row.findViewById(R.id.left_pic);
  65.                   holder.name=(TextView)row.findViewById(R.id.text_main_name);
  66.                   holder.email=(TextView)row.findViewById(R.id.sub_text_email);
  67.  
  68.                   row.setTag(holder);
  69.             }
  70.             else
  71.             {
  72.                   holder=(SpinnerHolder)row.getTag();
  73.  
  74.             }
  75.  
  76.             SpinnerItem spinnerItem=spinnerData.get(position);
  77.  
  78.             holder.userImage.setImageDrawable(row.getResources().getDrawable(spinnerItem.getDrawableResID()));
  79.             holder.name.setText(spinnerItem.getName());
  80.             holder.email.setText(spinnerItem.getEmail());
  81.  
  82.             return row;
  83.  
  84.       }
  85.  
  86.       private static class SpinnerHolder
  87.       {
  88.             ImageView userImage;
  89.             TextView  name,email;
  90.  
  91.       }
  92.  
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement