package net.dev123.yibo.service.listener;
import net.dev123.mblog.entity.Status;
import net.dev123.yibo.MicroBlogActivity;
import net.dev123.yibo.R;
import net.dev123.yibo.common.CacheManager;
import net.dev123.yibo.db.LocalAccount;
import net.dev123.yibo.db.LocalStatus;
import net.dev123.yibo.service.adapter.MyHomeListAdapter;
import net.dev123.yibo.service.cache.AdapterCollectionCache;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class MicroBlogPreviewClickListener implements OnClickListener {
private MyHomeListAdapter adapter;
private int position;
public MicroBlogPreviewClickListener(LocalAccount account, int position) {
this.position = position;
AdapterCollectionCache cache = (AdapterCollectionCache)
CacheManager.getInstance().getCache(account);
if (cache != null) {
adapter = cache.getMyHomeListAdapter();
}
}
@Override
public void onClick(View v) {
if (adapter == null) {
return;
}
MicroBlogActivity context = (MicroBlogActivity)v.getContext();
Status status = getStatus(v);
if (status == null) {
return;
}
if (status instanceof LocalStatus
&& ((LocalStatus)status).isDivider()) {
status = getStatus(v);
}
if (status != null) {
context.fillInView(status);
}
}
private Status getStatus(View v) {
Status status = null;
if (v.getId() == R.id.btnPrevious) {
if (position <= 0) {
Toast.makeText(v.getContext(), "已经没有上一条微博了", Toast.LENGTH_SHORT).show();
return status;
}
position--;
} else {
if (position >= adapter.getCount() - 1) {
Toast.makeText(v.getContext(), "已经没有下一条微博了", Toast.LENGTH_SHORT).show();
return status;
}
position++;
}
status = (Status)adapter.getItem(position);
return status;
}
}