阅读背景:

自动刷新的listview

来源:互联网 

1.activity

package com.example.refreshlistview;

import java.util.ArrayList;

import com.example.refreshlistview.view.refreshListView;
import com.example.refreshlistview.view.refreshListView.isRefreshListener;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.BaseAdapter;
import android.widget.TextClock;
import android.widget.TextView;

public class MainActivity extends Activity {

	private ArrayList<String> dataList;
	private refreshListView rlv;
	private String tag="MainActivity";

	@Override
	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);
		initUI();
		initData();
		initAdapter();
	}

	/**
	 * 初始化适配器
	 */
	private void initAdapter() {

		final myAdapter myAdapter = new myAdapter();
		rlv.setAdapter(myAdapter);
		rlv.setOnIsRefreshListener(new isRefreshListener() {

			@Override
			public void headRefresh() {
				new Thread() {
					public void run() {
						try {
							sleep(2000);
						} catch (InterruptedException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
						dataList.add(0, "添加头部数据");
						runOnUiThread(new Runnable() {
							public void run() {
								myAdapter.notifyDataSetChanged();
								rlv.closeHead();
							}
						});
					};
				}.start();
			}

			@Override
			public void footLoading() {
				new Thread() {
					public void run() {
						try {
							sleep(2000);
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
						dataList.add(dataList.size(), "添加脚步数据");
						runOnUiThread(new Runnable() {
							public void run() {
								myAdapter.notifyDataSetChanged();
								rlv.closeFoot();
							}
						});
					};
				}.start();
			}
		});
	}

	/**
	 * 初始化数据
	 */
	private void initData() {
		dataList = new ArrayList<String>();
		for (int i = 0; i < 40; i++) {
			dataList.add("这是数据:" + i);
		}
	}

	/**
	 * 找到控件
	 */
	private void initUI() {
		rlv = (refreshListView) findViewById(R.id.rlv);
	}

	class myAdapter extends BaseAdapter {

		@Override
		public int getCount() {
			return dataList.size();
		}

		@Override
		public String getItem(int position) {
			// TODO Auto-generated method stub
			return dataList.get(position);
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			TextView textView = new TextView(getApplicationContext());
			textView.setText(getItem(position));
			textView.setTextColor(Color.BLACK);
			textView.setTextSize(18);
			textView.setPadding(5, 5, 5, 5);
			convertView = textView;
			return convertView;
		}

	}
}
package com.example.refresh



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: