package net.dev123.yibo.service.listener;
import net.dev123.mblog.entity.Group;
import net.dev123.yibo.R;
import net.dev123.yibo.common.CacheManager;
import net.dev123.yibo.db.LocalAccount;
import net.dev123.yibo.service.adapter.AdapterUtil;
import net.dev123.yibo.service.adapter.GroupStatusesListAdapter;
import net.dev123.yibo.service.adapter.HomePageGroupListAdapter;
import net.dev123.yibo.service.cache.AdapterCollectionCache;
import net.dev123.yibo.service.cache.Cache;
import net.dev123.yibo.widget.ListChooseDialog;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class HomePageGroupItemClickListener implements OnItemClickListener {
private ListChooseDialog chooseDialog;
public HomePageGroupItemClickListener(ListChooseDialog chooseDialog) {
this.chooseDialog = chooseDialog;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
HomePageGroupListAdapter listAdapter =
(HomePageGroupListAdapter)AdapterUtil.getAdapter(parent.getAdapter());
Group group = null;
if (listAdapter != null) {
group = (Group)listAdapter.getItem(position);
}
if (group == null) {
return;
}
Activity context = (Activity)view.getContext();
LocalAccount account = listAdapter.getAccount();
ListAdapter statusesListAdapter = null;
if (position == 0) {
Cache cache = CacheManager.getInstance().getCache(account);
AdapterCollectionCache adapterCache = (AdapterCollectionCache)cache;
statusesListAdapter = adapterCache.getMyHomeListAdapter();
} else {
statusesListAdapter = new GroupStatusesListAdapter(
context, account, group);
}
ListView lvMicroBlog = (ListView)context.findViewById(R.id.lvMicroBlog);
if (lvMicroBlog != null) {
lvMicroBlog.setAdapter(statusesListAdapter);
}
TextView tvTitle = (TextView)context.findViewById(R.id.tvTitle);
if (tvTitle != null) {
tvTitle.setText(group.getName());
}
chooseDialog.dismiss();
}
}