package net.dev123.yibo.service.listener;
import net.dev123.yibo.R;
import net.dev123.yibo.service.adapter.CacheAdapter;
import net.dev123.yibo.service.cache.ReclaimLevel;
import android.app.Activity;
import android.view.View;
import android.widget.HeaderViewListAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
public class HomePageHeaderDoubleClickListener extends OnDoubleClickListener {
@Override
public void onDoubleClick(View v) {
//双击事件
Activity context = (Activity)v.getContext();
ListView lvMicroBlog = (ListView)context.findViewById(R.id.lvMicroBlog);
if (lvMicroBlog != null) {
ListAdapter adapter = lvMicroBlog.getAdapter();
CacheAdapter<?> cacheAdapter = getCacheAdapter(adapter);
if (cacheAdapter != null) {
cacheAdapter.reclaim(ReclaimLevel.MODERATE);
}
if (lvMicroBlog.getChildCount() > 1) {
lvMicroBlog.setSelection(1);
}
}
}
private CacheAdapter<?> getCacheAdapter(ListAdapter adapter) {
CacheAdapter<?> cacheAdapter = null;
if (adapter instanceof CacheAdapter) {
cacheAdapter = (CacheAdapter<?>)adapter;
} else if (adapter instanceof HeaderViewListAdapter) {
HeaderViewListAdapter headerViewAdapter = (HeaderViewListAdapter)adapter;
if (headerViewAdapter.getWrappedAdapter() instanceof CacheAdapter<?>) {
cacheAdapter = (CacheAdapter<?>)headerViewAdapter.getWrappedAdapter();
}
}
return cacheAdapter;
}
}