Advertisement
cyter

Updates_for_CustomDrawerAdapter

May 21st, 2015
568
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.31 KB | None | 0 0
  1. @Override
  2.       public View getView(int position, View convertView, ViewGroup parent) {
  3.             // TODO Auto-generated method stub
  4.  
  5.             DrawerItemHolder drawerHolder;
  6.             View view = convertView;
  7.  
  8.             if (view == null) {
  9.                   LayoutInflater inflater = ((Activity) context).getLayoutInflater();
  10.                   drawerHolder = new DrawerItemHolder();
  11.  
  12.                   view = inflater.inflate(layoutResID, parent, false);
  13.                   drawerHolder.ItemName = (TextView) view
  14.                               .findViewById(R.id.drawer_itemName);
  15.                   drawerHolder.icon = (ImageView) view.findViewById(R.id.drawer_icon);
  16.  
  17.                   drawerHolder.spinner = (Spinner) view
  18.                               .findViewById(R.id.drawerSpinner);
  19.  
  20.                   drawerHolder.title = (TextView) view.findViewById(R.id.drawerTitle);
  21.  
  22.                   drawerHolder.headerLayout = (LinearLayout) view
  23.                               .findViewById(R.id.headerLayout);
  24.                   drawerHolder.itemLayout = (LinearLayout) view
  25.                               .findViewById(R.id.itemLayout);
  26.                   drawerHolder.spinnerLayout = (LinearLayout) view
  27.                               .findViewById(R.id.spinnerLayout);
  28.  
  29.                   view.setTag(drawerHolder);
  30.  
  31.             } else {
  32.                   drawerHolder = (DrawerItemHolder) view.getTag();
  33.  
  34.             }
  35.  
  36.             DrawerItem dItem = (DrawerItem) this.drawerItemList.get(position);
  37.  
  38.             if (dItem.isSpinner()) {
  39.                   drawerHolder.headerLayout.setVisibility(LinearLayout.INVISIBLE);
  40.                   drawerHolder.itemLayout.setVisibility(LinearLayout.INVISIBLE);
  41.                   drawerHolder.spinnerLayout.setVisibility(LinearLayout.VISIBLE);
  42.  
  43.                   List<SpinnerItem> userList = new ArrayList<SpinnerItem>();
  44.  
  45.                     userList.add(new SpinnerItem(R.drawable.user1, "Ahamed Ishak",
  46.                               "ishakgmail.com"));
  47.  
  48.                   userList.add(new SpinnerItem(R.drawable.user2, "Brain Jekob",
  49.                               "brain.jgmail.com"));
  50.  
  51.                   CustomSpinnerAdapter adapter = new CustomSpinnerAdapter(context,
  52.                               R.layout.custom_spinner_item, userList);
  53.  
  54.                   drawerHolder.spinner.setAdapter(adapter);
  55.  
  56.                   drawerHolder.spinner
  57.                               .setOnItemSelectedListener(new OnItemSelectedListener() {
  58.  
  59.                                     @Override
  60.                                     public void onItemSelected(AdapterView<?> arg0,
  61.                                                 View arg1, int arg2, long arg3) {
  62.  
  63.                                           Toast.makeText(context, "User Changed",
  64.                                                       Toast.LENGTH_SHORT).show();
  65.                                     }
  66.  
  67.                                     @Override
  68.                                     public void onNothingSelected(AdapterView<?> arg0) {
  69.                                           // TODO Auto-generated method stub
  70.  
  71.                                     }
  72.                               });
  73.  
  74.             } else if (dItem.getTitle() != null) {
  75.                   drawerHolder.headerLayout.setVisibility(LinearLayout.VISIBLE);
  76.                   drawerHolder.itemLayout.setVisibility(LinearLayout.INVISIBLE);
  77.                   drawerHolder.spinnerLayout.setVisibility(LinearLayout.INVISIBLE);
  78.                   drawerHolder.title.setText(dItem.getTitle());
  79.  
  80.             } else {
  81.  
  82.                   drawerHolder.headerLayout.setVisibility(LinearLayout.INVISIBLE);
  83.                   drawerHolder.spinnerLayout.setVisibility(LinearLayout.INVISIBLE);
  84.                   drawerHolder.itemLayout.setVisibility(LinearLayout.VISIBLE);
  85.  
  86.                   drawerHolder.icon.setImageDrawable(view.getResources().getDrawable(
  87.                               dItem.getImgResID()));
  88.                   drawerHolder.ItemName.setText(dItem.getItemName());
  89.  
  90.             }
  91.             return view;
  92.       }
  93.  
  94.       private static class DrawerItemHolder {
  95.             TextView ItemName, title;
  96.             ImageView icon;
  97.             LinearLayout headerLayout, itemLayout, spinnerLayout;
  98.             Spinner spinner;
  99.       }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement