package com.su.morebutton;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class TestListViewGetMoreButtonActivity extends Activity {
private LinearLayout home_more;
private TextView home_tvmore;
private LinearLayout loading;
private ListView home_ListView;
private SimpleAdapter simpleAdapter;
private ArrayList<HashMap<String, String>> mylist;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
home_more = (LinearLayout) LayoutInflater.from(
TestListViewGetMoreButtonActivity.this).inflate(
R.layout.list_more, null);
home_tvmore = (TextView) home_more.findViewById(R.id.more_tv);
loading = (LinearLayout) home_more.findViewById(R.id.loading);
loading.setVisibility(View.GONE);
home_ListView = (ListView) findViewById(R.id.listView1);
home_ListView.addFooterView(home_more, null, false);//增加那个 更多按钮
home_tvmore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
home_tvmore.setVisibility(View.GONE);
loading.setVisibility(View.VISIBLE);
run = true;
Thread thread = new Thread(new ThreadDemo());//开启获取新数据的线程
thread.start();
}
});
// 初始化listview
mylist = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < 7; i++) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("ItemTitle", "This is Title.....");
map.put("ItemText", "This is text.....");
mylist.add(map);
}
simpleAdapter = new SimpleAdapter(this, mylist, R.layout.item,
new String[] { "ItemTitle", "ItemText" }, new int[] {
R.id.ItemTitle, R.id.ItemText });
home_ListView.setAdapter(simpleAdapter);
}
Handler endSessionHandle = new Handler() {
@Override
public void handleMessage(Message msg) {
finish();
}
};
private boolean run = true;
class ThreadDemo implements Runnable {
Message msg = handle.obtainMessage();
public void run() {
while (run) {
msg.obj = getDate();
msg.what = 1;
handle.sendMessage(msg);
run = false;
}
}
}
Handler handle = new Handler() {
@SuppressWarnings("unchecked")
public void handleMessage(Message msg) {
if (msg.what == 1) {
Log.e("测试", "");
mylist.addAll((ArrayList<HashMap<String, String>>) msg.obj);
simpleAdapter.notifyDataSetChanged();
home_tvmore.setVisibility(View.VISIBLE);// 再次回到以前状态
loading.setVisibility(View.GONE);
}
}
};
/**
* 获取list的数据一般是来自网络
*/
private ArrayList<HashMap<String, String>> getDate() {
ArrayList<HashMap<String, String>> newList = new ArrayList<HashMap<String, String>>();
try {
for (int i = 0; i < 5; i++) {
// 执行的增加数据方法
HashMap<String, String> map = new HashMap<String, String>();
map.put("ItemTitle", "Added Title.....");
map.put("ItemText", "added text.....");
newList.add(map);
if (i == 4) {
}
Thread.sleep(500);
}
} catch (Exception e) {
e.printStackTrace();
Log.e("WeiboPub", e.getMessage());
}
return newList;
}
}
http://dl.vmall.com/c0jnos5z6k
分享到:
相关推荐
这是一个android listview分页查询显示的demo,使用sqlite数据库,然后每次显示10条,上拉加载更多数据,studio项目
android下listview分页加载更多,绝对可用
这个demo主要介绍了listView的分页功能,实现了加载更多,希望可以帮助需要的同学。
NULL 博文链接:https://staroflife.iteye.com/blog/1749672
Android ListView每个Item上面的有TextView和Button,为ListView每个Item上面的按钮添加事件,并获取TextView文本信息。
android ListView分页 android ListView分页 android ListView分页
android Listview下拉刷新 上拉(滑动分页)加载更多 高仿新浪微博下拉刷新,同时实现了滑动加载下一页
Android ListView 滑动分页 分页加载数据
android listView 分页加载
ListView的分页
代码很清晰,很适合初学者.欢迎大家下载学习
实现了 Android listView 分页功能,代码可以运行,功能完善。
Android ListView分页功能源码
ListView分页显示上一页和下一页,加载数据显示
android studio实现listview的增加,左滑删除 listview以表格样式实现
android listview 分页显示例子, 利用map缓存图片, 分页显示。
ListView下拉刷新和分页二个功能,经测试可以运行
Android完美解决listview中多个edittext显示混乱问题,内含源码及apk文件
Android源码——ListView分页功能源码.zip