package com.duguang.baseanimation.ui.listivew.refresh;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.duguang.baseanimation.R;
import com.duguang.baseanimation.ui.base.BaseActivity;
import com.duguang.baseanimation.ui.listivew.refresh.interf.OnRefreshListener;
import com.duguang.baseanimation.ui.listivew.refresh.view.RefreshListView;
/**
* @author duguang
*
*/
public class RefreshMainActivity extends BaseActivity {
private List<String> listViewData;
@Override
public void setView() {
setContentView(R.layout.activity_listview_refresh_mani);
}
@Override
public void initView() {
final RefreshListView mRefreshListView = (RefreshListView) findViewById(R.id.refresh_listview);
listViewData = new ArrayList<String>();
for (int i = 0; i < 20; i++) {
listViewData.add("这是一条ListView的数据" + i);
}
final MyAdapter mAdapter = new MyAdapter();
mRefreshListView.setAdapter(mAdapter);
mRefreshListView.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh() {
// 异步查询数据
new AsyncTask<Void, Void, Void>(){
@Override
protected Void doInBackground(Void... params) {
SystemClock.sleep(2000);
listViewData.add(0, "这是下拉刷新出来BaseAnimation");
return null;
}
protected void onPostExecute(Void result) {
mAdapter.notifyDataSetChanged();
// 隐藏头布局
mRefreshListView.onRefreshFinish();
}
}.execute(new Void[]{});
}
@Override
public void onLoadMoring() {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
SystemClock.sleep(5000);
listViewData.add("加载更多刷新出来BaseAnimation1");
listViewData.add("加载更多刷新出来BaseAnimation2");
listViewData.add("加载更多刷新出来BaseAnimation3");
listViewData.add("加载更多刷新出来BaseAnimation4");
listViewData.add("加载更多刷新出来BaseAnimation5");
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
mAdapter.notifyDataSetChanged();
mRefreshListView.onRefreshFinish();
}
}.execute(new Void[]{});
}
});
}
@Override
public void setListener() {
// TODO Auto-generated method stub
}
/**
* 填充适配器
* @author dg
*
*/
class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
return listViewData.size();
}
@Override
public Object getItem(int arg0) {
return listViewData.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView tv = null;
if(convertView == null) {
tv = new TextView(RefreshMainActivity.this);
} else {
tv = (TextView) convertView;
}
tv.setText(listViewData.get(position));
tv.setTextSize(20);
return tv;
}
}
}