package com.cheng.animationstudy.activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import com.cheng.animationstudy.C;
import com.cheng.animationstudy.R;
import com.cheng.animationstudy.customview.sunrefresh.SunRosePullToRefreshView;
import com.cheng.utils.ViewFinder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SunRosePullToRefreshAnimActivity extends AppCompatActivity implements SunRosePullToRefreshView.OnRefreshListener {
private SunRosePullToRefreshView mSunRosePullToRefreshView;
private ListView mSunRoseLV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sunrosepulltorefreshanim);
initView();
initListener();
initData();
}
private void initView() {
this.mSunRosePullToRefreshView = ViewFinder.findViewById(this, R.id.ptrv_sunrose);
this.mSunRoseLV = ViewFinder.findViewById(this, R.id.lv_sunrose);
}
private void initListener() {
this.mSunRosePullToRefreshView.setOnRefreshListener(this);
}
private void initData() {
Map<String, Integer> map;
List<Map<String, Integer>> sampleList = new ArrayList<>();
int [] icons = {
R.mipmap.icon_1,
R.mipmap.icon_2,
R.mipmap.icon_3
};
int [] colors = {
R.color.saffron,
R.color.eggplant,
R.color.sienna
};
for (int i=0; i<icons.length; i++) {
map = new HashMap<>();
map.put(SampleAdapter.KEY_ICON, icons[i]);
map.put(SampleAdapter.KEY_COLOR, colors[i]);
sampleList.add(map);
}
this.mSunRoseLV.setAdapter(new SampleAdapter(this, R.layout.item_sunroselist, sampleList));
}
@Override
public void onRefresh() {
this.mSunRosePullToRefreshView.postDelayed(new Runnable() {
@Override
public void run() {
mSunRosePullToRefreshView.setRefreshing(false);
}
}, C.Int.IMITATE_NET_DELAYED * 4);
}
class SampleAdapter extends ArrayAdapter<Map<String, Integer>> {
public static final String KEY_ICON = "icon";
public static final String KEY_COLOR = "color";
private final LayoutInflater mInflater;
private final List<Map<String, Integer>> mData;
public SampleAdapter(Context context, int layoutResourceId, List<Map<String, Integer>> data) {
super(context, layoutResourceId, data);
mData = data;
mInflater = LayoutInflater.from(context);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = mInflater.inflate(R.layout.item_sunroselist, parent, false);
viewHolder.imageViewIcon = (ImageView) convertView.findViewById(R.id.image_view_icon);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.imageViewIcon.setImageResource(mData.get(position).get(KEY_ICON));
convertView.setBackgroundResource(mData.get(position).get(KEY_COLOR));
return convertView;
}
class ViewHolder {
ImageView imageViewIcon;
}
}
}