Created
September 13, 2014 05:22
-
-
Save Antarix/937a1c679d3ec54ef7a9 to your computer and use it in GitHub Desktop.
Custom Adapter for andorid
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.List; | |
import android.content.Context; | |
import android.graphics.Color; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.BaseAdapter; | |
import android.widget.ImageView; | |
import android.widget.TextView; | |
public class DrawerAdapter extends BaseAdapter { | |
private Context context; | |
private List<String> drawerEntries; | |
private LayoutInflater mInflater; | |
public DrawerAdapter(Context context, List<String> drawerEntries) { | |
super(); | |
this.context = context; | |
this.drawerEntries = drawerEntries; | |
this.mInflater = LayoutInflater.from(context); | |
} | |
@Override | |
public int getCount() { | |
// TODO Auto-generated method stub | |
return drawerEntries.size(); | |
} | |
@Override | |
public Object getItem(int position) { | |
// TODO Auto-generated method stub | |
return drawerEntries.get(position); | |
} | |
@Override | |
public long getItemId(int position) { | |
// TODO Auto-generated method stub | |
return position; | |
} | |
@Override | |
public View getView(int position, View convertView, ViewGroup parent) { | |
// TODO Auto-generated method stub | |
final ViewHolder holder; | |
if (convertView == null) { | |
convertView = mInflater.inflate(R.layout.list_item_drawer, null); | |
holder = new ViewHolder(); | |
holder.textViewItem = (TextView) convertView | |
.findViewById(R.id.text_drawer_item); | |
holder.iconItem = (ImageView)convertView.findViewById(R.id.image_icon); | |
convertView.setTag(holder); | |
} else { | |
holder = (ViewHolder) convertView.getTag(); | |
} | |
try { | |
holder.textViewItem.setText(drawerEntries.get(position)); | |
switch (position) { | |
case 0: | |
holder.iconItem.setImageResource(R.drawable.image); | |
break; | |
case 1: | |
holder.iconItem.setImageResource(R.drawable.audio); | |
break; | |
case 2: | |
holder.iconItem.setImageResource(R.drawable.video); | |
break; | |
case 3: | |
holder.iconItem.setImageResource(R.drawable.voice_note); | |
break; | |
case 4: | |
holder.iconItem.setImageResource(R.drawable.profile); | |
break; | |
case 5: | |
holder.iconItem.setImageResource(R.drawable.plus_one_undone); | |
convertView.setBackgroundColor(Color.parseColor("#D24127")); | |
holder.textViewItem.setTextColor(Color.WHITE); | |
break; | |
case 6: | |
holder.iconItem.setImageResource(R.drawable.ic_launcher); | |
break; | |
} | |
if(HostActivity.menuPosition == position){ | |
setSelection(position, convertView); | |
} else if (position != 5) { | |
convertView.setBackgroundResource(android.R.color.white); | |
} | |
} catch (Exception e) { | |
// TODO: handle exception | |
} | |
return convertView; | |
} | |
public class ViewHolder { | |
TextView textViewItem; | |
ImageView iconItem; | |
} | |
private void setSelection(int position, View convertView){ | |
switch (position) { | |
case 0: | |
convertView.setBackgroundResource(R.color.drawer_image); | |
break; | |
case 1: | |
convertView.setBackgroundResource(R.color.drawer_audio); | |
break; | |
case 2: | |
convertView.setBackgroundResource(R.color.drawer_video); | |
break; | |
case 3: | |
convertView.setBackgroundResource(R.color.drawer_voice); | |
break; | |
case 4: | |
convertView.setBackgroundResource(R.color.drawer_profile); | |
break; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment