package com.biznow.ordernow.adapter; import java.util.ArrayList; import android.app.Activity; import android.content.Context; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.ImageView; import android.widget.TextView; import com.biznow.ordernow.R; import com.biznow.ordernow.model.AllHistoryViewItem; import com.util.Utilities; public class AllHistoryAdapter extends BaseExpandableListAdapter { private Context applicationContext; private ArrayList<AllHistoryViewItem> allHistoryItems; private static final int[] EMPTY_STATE_SET = {}; private static final int[] GROUP_EXPANDED_STATE_SET = { android.R.attr.state_expanded }; private static final int[][] GROUP_STATE_SETS = { EMPTY_STATE_SET, // 0 GROUP_EXPANDED_STATE_SET // 1 }; public AllHistoryAdapter(Context applicationContext, ArrayList<AllHistoryViewItem> allHistoryItems) { super(); this.applicationContext = applicationContext; this.allHistoryItems = allHistoryItems; } @Override public Object getChild(int groupPosition, int childPosititon) { return this.allHistoryItems.get(groupPosition).getDishnames() .get(childPosititon); } @Override public long getChildId(int groupPosition, int childPosititon) { return childPosititon; } @Override public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater minflater = (LayoutInflater) applicationContext .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); convertView = minflater.inflate(R.layout.history_child_view, null); } String dishName = this.allHistoryItems.get(groupPosition) .getDishnames().get(childPosition); TextView dishNameView = (TextView) convertView .findViewById(R.id.history_dish_name); dishNameView.setText(dishName); return convertView; } @Override public int getChildrenCount(int groupPosition) { return this.allHistoryItems.get(groupPosition).getDishnames().size(); } @Override public Object getGroup(int groupPosition) { return this.allHistoryItems.get(groupPosition); } @Override public int getGroupCount() { return this.allHistoryItems.size(); } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public View getGroupView(int position, boolean isExpanded, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater minflater = (LayoutInflater) applicationContext .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); convertView = minflater.inflate(R.layout.history_parent_view, null); } ImageView ind = (ImageView) convertView .findViewById(R.id.explist_indicator); if (getChildrenCount(position) != 0) { ind.setVisibility(View.VISIBLE); int stateSetIndex = (isExpanded ? 1 : 0); Drawable drawable = ind.getDrawable(); drawable.setState(GROUP_STATE_SETS[stateSetIndex]); } else { ind.setVisibility(View.INVISIBLE); } TextView restNameView = (TextView) convertView .findViewById(R.id.history_rest_name); TextView orderIdView = (TextView) convertView .findViewById(R.id.history_order_id); TextView orderDateView = (TextView) convertView .findViewById(R.id.history_order_date); AllHistoryViewItem item = this.allHistoryItems.get(position); restNameView.setText(item.getRestName()); orderIdView.setText("OrderId " + item.getOrderId()); String orderDate = Utilities.defaultDateFormat(item.getOrderDate()); orderDateView.setText(orderDate); return convertView; } @Override public boolean hasStableIds() { // TODO Auto-generated method stub return false; } @Override public boolean isChildSelectable(int arg0, int arg1) { // TODO Auto-generated method stub return false; } }