package com.oreilly.android.otweet.adapters;
import java.util.ArrayList;
import twitter4j.Status;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import com.oreilly.android.otweet.R;
import com.oreilly.android.otweet.layouts.StatusListItem;
public class StatusListAdapter extends ArrayAdapter<Status> {
private Context context;
public StatusListAdapter(Context context, ArrayList<Status> statii) {
super(context, android.R.layout.simple_list_item_1, statii);
this.context = context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
StatusListItem v;
if (null == convertView) {
v = (StatusListItem) View.inflate(context, R.layout.status_list_item, null);
} else {
v = (StatusListItem) convertView;
}
v.setStatus((Status) getItem(position));
return v;
}
public long getFirstId() {
Status firstStatus = getItem(0);
if (null == firstStatus) {
return 0;
} else {
return firstStatus.getId();
}
}
public long getLastId() {
Status lastStatus = getItem(getCount()-1);
if (null == lastStatus) {
return 0;
} else {
return lastStatus.getId();
}
}
public void appendNewer(ArrayList<Status> statii) {
setNotifyOnChange(false);
for (Status status : statii) {
insert(status, 0);
}
notifyDataSetChanged();
}
public void appendOlder(ArrayList<Status> statii) {
setNotifyOnChange(false);
for (Status status : statii) {
add(status);
}
notifyDataSetChanged();
}
}