package com.moez.QKSMS.ui.popup;
import android.database.Cursor;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import com.moez.QKSMS.ui.base.QKActivity;
import com.moez.QKSMS.ui.messagelist.MessageListAdapter;
import com.moez.QKSMS.ui.messagelist.MessageListViewHolder;
/**
* ArrayAdapter wrapper of MessageListAdapter to allow regular ListView usage in QKReplyActivity
* RecyclerView in variable-height windows causes a lot of issues
*/
public class QKReplyAdapter extends ArrayAdapter {
private MessageListAdapter mMessageListAdapter;
public QKReplyAdapter(QKActivity context) {
super(context, 0);
mMessageListAdapter = new MessageListAdapter(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
MessageListViewHolder holder;
if (convertView == null) {
holder = mMessageListAdapter.onCreateViewHolder(parent, getItemViewType(position));
convertView = holder.itemView;
convertView.setTag(holder);
} else {
holder = (MessageListViewHolder) convertView.getTag();
}
mMessageListAdapter.bindViewHolder(holder, position);
return holder.itemView;
}
@Override
public int getCount() {
return mMessageListAdapter != null ? mMessageListAdapter.getCount() : 0;
}
@Override
public int getItemViewType(int position) {
return mMessageListAdapter.getItemViewType(position);
}
@Override
public int getViewTypeCount() {
return 2;
}
public void changeCursor(Cursor cursor) {
mMessageListAdapter.changeCursor(cursor);
notifyDataSetChanged();
}
}