- 浏览: 59067 次
- 性别:
- 来自: 南京
最新评论
-
cuixuelei:
图形中RChart Demo 字样,怎么去掉
android饼状图表 -
Mr.Cheney:
代码太乱了
gallery加载大量图片时内存溢出的解决方法(一) -
ygswine:
最后一点是否可以在发送QQ邮箱,成功后程序关闭,在Activi ...
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(获取联系人和电话号码、通话记录) -
zxuenet:
erwin_king 写道因为这个时收费的,所以会有的demo ...
android饼状图表 -
mvpstevenlin:
博主,麻烦发一份我学习吧 1577360984@qq.com, ...
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(获取联系人和电话号码、通话记录)
我们在使用listview时难免会遇到分页的情况,既然是分页,那么能给用户看见分页的情况,无疑让用户在等待下一页数据的时候会有好处的,如果获取下一页时间过久的话,用户会觉得好像死机了,这样就会给用户一个不好的体验,下面我就来实现在listview分页是现实进度条,由于这个效果的要求不高,我只使用了很简单的方式来实现,高手莫笑哦!
1、首先便是xml文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main" android:orientation="vertical"
android:background="@drawable/mainapp_ic_bg" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:gravity="center_horizontal" android:layout_above="@+id/main_progessbar" android:layout_alignParentTop="true"
android:orientation="vertical" android:id="@+id/top" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="学习" android:background="@drawable/com_ttb_1l_bg"
android:id="@+id/main_title"
android:layout_width="fill_parent" android:gravity="center"
android:layout_height="wrap_content" android:textSize="18dip"
android:textColor="@color/white" android:visibility="gone"/>
<ListView android:id="@+id/main_listview" android:layout_below="@+id/main_title" android:cacheColorHint="#00000000"
android:layout_width="fill_parent" android:layout_height="fill_parent"></ListView>
</LinearLayout>
<LinearLayout android:gravity="center" android:layout_alignParentBottom="true"
android:background="@color/black" android:id="@+id/main_progessbar" android:layout_width="fill_parent"
android:visibility="gone" android:layout_height="wrap_content" >
<ProgressBar android:layout_width="wrap_content"
android:layout_height="wrap_content"></ProgressBar>
<TextView android:text="加载中..." android:layout_width="wrap_content"
android:paddingLeft="10dip" android:gravity="center" android:layout_height="fill_parent"></TextView>
</LinearLayout>
</RelativeLayout>
2、activity类
public class ListView_ProgressBar extends Activity implements OnScrollListener {
int lastItem = 0;
int mProgressStatus = 0;
private Handler mHandler = new Handler();
ProgressBar progressBar;
MyAdapter myAdapter;
List<String> str = new ArrayList<String>();
int pageNo = 1;
ListView listview;
int totalPage = 10;
int totalRecord = 200;
LinearLayout main_progessbarn;
private boolean isScrolling = false;
int now = 0;
boolean isPagination = false;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
main_progessbarn = (LinearLayout)findViewById(R.id.main_progessbar);
listview = (ListView) findViewById(R.id.main_listview);
for (int i = 0; i < 15; i++) {
str.add("条目内容" + (pageNo-1)*20+i);
}
myAdapter = new MyAdapter(ListView_ProgressBar.this, str);
listview.setAdapter(myAdapter);
listview.setOnScrollListener(this);
}
public void onScroll(AbsListView v, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
lastItem = firstVisibleItem + visibleItemCount - 1;
System.out.println("lastItem:" + lastItem);
}
public void onScrollStateChanged(AbsListView v, int state) {
if (lastItem == str.size()-1
&& state == OnScrollListener.SCROLL_STATE_IDLE) {
pageNo++;
if (pageNo <= totalPage) {
ccc(pageNo);
}
}
}
private void ccc(final int pageNo){
main_progessbarn.setVisibility(View.VISIBLE);
new Thread() {
public void run() {
getStringList(pageNo);
mHandler.post(refreshAdapter);
}
}.start();
}
private Runnable refreshAdapter = new Runnable() {
public void run() {
myAdapter.notifyDataSetChanged();
main_progessbarn.setVisibility(View.GONE);
}
};
public void getStringList(int pageNo) {
for (int i = 0; i < 10000; i++) {
str.add("条目内容" + (pageNo-1)*20+i);
}
}
}
3、listview适配器
public class MyAdapter extends BaseAdapter {
Context context;
List<String> list;
LayoutInflater lif;
public MyAdapter(Context context, List<String> list,) {
this.context = context;
this.list = list;
}
public int getCount() {
if (list != null) {
return list.size();
} else {
return 0;
}
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
// mHandler.post(mScrollToButton);//传�?�?��消息进行滚动
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
final MyView mv;
if (convertView == null) {
mv = new MyView();
lif = LayoutInflater.from(context);// 转化到context这个容器
convertView = lif.inflate(R.layout.main_item, null);// 设置要转化的layout文件
} else {
mv = (MyView) convertView.getTag();
}
mv.tv1 = (TextView) convertView.findViewById(R.id.main_listview_item);// 取得实例
System.out.println("条目内容" + list.get(position));
mv.tv1.setText(list.get(position));
if ((position % 2) == 0) {
convertView.setBackgroundResource(R.drawable.com_list_bg_d);
} else {
convertView.setBackgroundResource(R.drawable.com_list_bg_s);
}
convertView.setTag(mv);
return convertView;
}
private static class MyView {
TextView tv1;
}
}
发表评论
-
android 使用des算法
2012-02-09 12:52 1927转自:http://www.linuxidc.com/Linu ... -
Toast显示图片
2012-02-02 12:56 1422转自:http://blog.csdn.net/ling ... -
文字中间加横线效果
2012-02-02 11:00 1824priceTV.setText("价格:2.00 ... -
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(apn操作)
2011-11-08 12:51 1298static Uri uri = Uri.parse(&qu ... -
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(gps操作)
2011-11-08 12:48 1545public static String getCityNam ... -
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(获取联系人和电话号码、通话记录)
2011-11-08 12:46 2978首先声明者只是一个个 ... -
Android Activity界面切换添加动画特效
2011-06-14 13:48 1179在Android 2.0之后有了overridePending ... -
android 权限介绍(二)
2011-06-02 17:08 981SYSTEM_ALERT_WINDOW 允许 ... -
android 权限介绍(一)
2011-06-02 17:00 796Manifest.permission 这个类定义了andro ... -
编写高效的Android代码(提高运行速度,节省电量)
2011-06-02 16:28 1256编写高效的Android代码( ... -
[整理]Selector、shape详解
2011-06-02 15:15 4133Selector、shape详解(一) Selector的结 ... -
[转帖]Android自定义Activity漂亮跳转效果
2011-05-31 20:10 1242Android自定义Activity漂亮跳转效果 ... -
gallery加载大量图片时内存溢出的解决方法(三)
2011-05-31 19:14 20036、ImageAdapter public class Im ... -
gallery加载大量图片时内存溢出的解决方法(二)
2011-05-31 18:56 2509Paint deafalutPaint = new Paint ... -
gallery加载大量图片时内存溢出的解决方法(一)
2011-05-31 18:55 4405这只是我以前开始搞android事留下的代码,发现还是存在问题 ... -
ListView学习(三) 加载视野内的数据
2011-05-31 17:13 1741在滑动的过程中,只有在视野中的item才会加载数据,其他的其实 ... -
ListView学习(二) 点击条目隐藏展开正文
2011-05-28 00:00 3782本篇是listview条目点击展开或者隐藏内容,本文参照了an ... -
[整理] 操作通话记录(一)
2011-05-25 11:31 1845/* *为了方便后面页面的封装,这里定义了一个实体类 ... -
[整理] 操作通话记录(二)
2011-05-25 11:25 1083//处理时间 public String for ... -
android饼状图表
2011-05-15 15:12 4147相信图表再很多统计应 ...
相关推荐
http://blog.csdn.net/icqapp/article/details/24978057 详看效果图...android listview左右滑动分页(viewpager嵌套listview进行分页),焦点图带圆焦点 先敬告学者:如在此项目上运行不了的直接找到本人QQ:508181017,
Android ListView 滑动分页 分页加载数据
ListView水平滑动分页,更改属性也可垂直滑动分页,但滑动事件有所冲突
viewpage嵌套listview,效果:滑动listview删除,滑动非listview区域viewpage翻页
WinForm ListView,DataGridView通用分页控件,因为自己要用,自己根据网上搜罗的一些代码进行重新封装,文件中有一个PagerNavigate.dll文件,包含了两种分页控件,ListView,DataGridView可以通用任何一个分页控件。...
android Listview下拉刷新 上拉(滑动分页)加载更多 高仿新浪微博下拉刷新,同时实现了滑动加载下一页
对于多线程下载多任务进度更新时滑动出现的错乱现象的处理
ListView像左滑动Item显示删除按钮
ListView动态加载数据分页,使用Handler+线程和AsyncTask两种方法
一个监听ListView滑动到底部,然后自动加载新的内容的Demo
实现一个Activity中多个ListView的整体上下滑动效果,每个ListView分别使用一个自定义的适配器
android 快速滑动listview,快速滑动右边的一排字母,快速查找对应的信息,滑动同时还有方块显示滑动到哪个字母。
ScrollView嵌套ListView,当ListView的顶部到达屏幕顶部时,listView才具有滑动能力,当listView滑动到两端时,会触发ScrollView滑动
实现了listview的左右滑动。当您的界面里面含有listview的时候,你仍然可以使用手势监听器,滑动切换activity
Android 自定义ListView实现底部分页刷新与顶部下拉刷新 一.ListView 底部分页加载 整个底部分页加载,主要分一下几步: 1.加载底部自定义View; 2.响应OnScrollListener监听事件,onScroll方法记录最后可见的View ...
listView 滑动显示首字母 listView 滑动显示首字母
ListView下拉刷新和分页二个功能,经测试可以运行
C# winform,重写ListView控件,让它实现每一行都带百分比的进度条,在实际项目中经常用到,所以留在这里与各位分享,如果有疑问,欢迎VX:VPAmway,共同交流学习编程知识
ListView分页显示上一页和下一页,加载数据显示