package com.ztspeech.simutalk2.view; import com.ztspeech.simutalk2.data.DataListObejct; import com.ztspeech.simutalk2.view.ViewItemEvent.OnListViewItemClickListener; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; public abstract class ListViewAdapter extends BaseAdapter implements OnListViewItemClickListener { private OnListViewItemClickListener mOnListViewItemClickListener = null; protected DataListObejct mDataList = null; protected Context mContext = null; public ListViewAdapter(Context context, DataListObejct list) { // TODO Auto-generated constructor stub super(); mDataList = list; mContext = context; } public int getCount() { // TODO Auto-generated method stub if(mDataList == null){ return 0; } return mDataList.size(); } public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } public View getView(int arg0, View arg1, ViewGroup arg2) { // TODO Auto-generated method stub ListViewItem v = null; if (arg1 == null) { v = newItemView(mContext); v.setOnListViewItemClickListener(this); arg1 = v; } else { v = (ListViewItem)arg1; } v.setData(mDataList.get(arg0)); return arg1; } public abstract ListViewItem newItemView(Context context); public void OnListViewItemClick(int event, long id) { // TODO Auto-generated method stub if(mOnListViewItemClickListener != null){ mOnListViewItemClickListener.OnListViewItemClick(event, id); } } public void setOnListViewItemClickListener(OnListViewItemClickListener listener) { mOnListViewItemClickListener = listener; } }