Inflate Listview By Customized Arrayadapter
I have one Array + one Listview + one Listview items layout Xml + one Class extended from ArrayAdapter, Now i want to show my Array Items in Customized ListView By using Customize
Solution 1:
You can try to use BaseAdapter.
Adapter class:
publicclassYourAdapterextendsBaseAdapter {
private Context mContext;
private String yourArray[];
publicYourAdapter(Context context, String data[]) {
mContext = context;
yourArray= data;
}
@OverridepublicintgetCount() {
return yourArray.length;
}
@Overridepublic Object getItem(int position) {
return yourArray[position];
}
@OverridepubliclonggetItemId(int position) {
return0;
}
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
//new item
convertView = LayoutInflater.from(mContext).inflate(R.layout.days_list_item, null);
holder = newViewHolder();
holder.numberOfDays = (TextView) convertView.findViewById(R.id.eventDays);
holder.sinceOrUntil = (TextView) convertView.findViewById(R.id.eventType);
holder.eventTitle = (TextView) convertView.findViewById(R.id.eventTitle);
holder.daysText = (TextView) convertView.findViewById(R.id.DaysText);
convertView.setTag(holder);
} else {
//reusing existing item
holder = (ViewHolder) convertView.getTag();
}
/*
* Do you preparatory steps here, then assign result to below
*/
holder.numberOfDays.setText("text1");
holder.sinceOrUntil.setText("text2");
holder.eventTitle.setText("text3");
return convertView;
}
privatestaticclassViewHolder {
TextView numberOfDays;
TextView daysText;
TextView sinceOrUntil;
TextView eventTitle;
}
}
Post a Comment for "Inflate Listview By Customized Arrayadapter"