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.CompatibilityUtil;
import net.dev123.yibo.common.Constants;
import net.dev123.yibo.db.LocalStatus;
import net.dev123.yibo.service.adapter.AdapterUtil;
import net.dev123.yibo.service.adapter.CacheAdapter;
import net.dev123.yibo.service.adapter.MyHomeListAdapter;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
public class MicroBlogItemClickListener implements OnItemClickListener {
private Context context;
public MicroBlogItemClickListener(Context context) {
this.context = context;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Adapter adapter = parent.getAdapter();
Status status = (Status)adapter.getItem(position);
if (status == null
|| (status instanceof LocalStatus
&& ((LocalStatus)status).isDivider())) {
return;
}
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putSerializable("STATUS", status);
CacheAdapter<?> cacheAdapter = AdapterUtil.getCacheAdapter(adapter);
if (cacheAdapter instanceof MyHomeListAdapter) {
bundle.putInt("SOURCE", Constants.REQUEST_CODE_MY_HOME);
bundle.putInt("POSITION", position - 1);
}
intent.putExtras(bundle);
intent.setClass(parent.getContext(), MicroBlogActivity.class);
((Activity)context).startActivityForResult(intent, Constants.REQUEST_CODE_MICRO_BLOG);
CompatibilityUtil.overridePendingTransition(
(Activity)context, R.anim.slide_in_right, android.R.anim.fade_out
);
}
}