导航:首页 > 操作系统 > androidgridview上拉加载

androidgridview上拉加载

发布时间:2022-10-06 17:28:19

1. 怎么向xlistview中添加view实现上拉加载,下拉刷新

注意事项:
1、XListView因为添加了Header,会导致存储的数据+1,所以赋值时需要position-1。补充:当去掉HeaderView时,position不用-1。
2、提个建议:上拉加载更多,最好在onCreate()中就执行setAdapter,然后不论是空数据、还是有数据,只用更新适配器就行了。
一、XListView
1、下载
gitHub的地址。或者从这儿下。
2、用法
导入图中的me.maxwin.view包
提供了两个接口:
IXListViewListener:触发下拉刷新,上拉加载更多。实现此接口时,onLoadMore()用来上拉加载更多,onRefresh()用来下拉刷新。
OnXScrollListener:和原生的OnScrollListener一样,但是在header/footer回滚时也会触发。
几个常用方法:
setPullRefreshEnable(boolean enable):是否允许下拉刷新

setPullLoadEnable(boolean enable):是否允许上拉加载更多

stopRefresh():停止刷新,重置header view

stopLoadMore():停止加载更多,重置footer view

请求到数据后停止刷新停止加载更多。
setRefreshTime(String time):设置上次刷新的时间

onLoadMore():加载更多时调用的方法。注意第一次进入时不会调用此方法。

onRefresh():下拉刷新时调用的方法。

3、代码中怎么体现
1)实现IXListViewListener接口->2)实现上拉刷新和下拉加载更多的数据变更->3)更新header view和footer view,并设置更新时间。

[java] view plain
//1、实现IXListViewListener接口
mListView.setXListViewListener(this);
//2.1 onRefresh中实现下拉刷新的数据加载
@Override
public void onRefresh() {
//请求数据
//更新界面显示

[java] view plain
onLoad();
}//2.2 onLoadMore中实现上拉加载更多的数据加载

[java] view plain
@Override
public void onLoadMore() {
//请求数据

//更新界面显示

[java] view plain
onLoad();

}//3、加载完数据后,复位header view和footer view,并设置更新的时间。

[java] view plain
private void onLoad() {
mListView.stopRefresh();mListView.stopLoadMore();
mListView.setRefreshTime("刚刚");
}
4、xml注意事项
当将XListView嵌入到LinearLayout中时,XListView占满全屏时不能再加载更多。上错误代码:

[java] view plain
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/takemain_ll"
android:layout_below="@id/takemain_l"
android:orientation="vertical" >

<cn.bestbang.rable_consumer_goods.utils.MyExXListView
android:id="@+id/home_list"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</cn.bestbang.rable_consumer_goods.utils.MyExXListView>
</LinearLayout>
5、去ScrollView共用
这种情况,重写XListView会导致上拉加载时频繁的报错:适配器未更新,不知道咋解决。

二、PullToRefresh
大部分内容转自鸿洋的博客:http://blog.csdn.net/lmj623565791/article/details/38238749
1、整体了解:
首先,github上的这个控件:pull-to-refresh,例子中的功能非常强大,可不止支持ListView和GridView。在下载前,先说下项目结构。github上下载的例子,是依赖于三个项目的,一个基本的library_pullToRefresh(自己要引用到的项目。怎么引用?自己的项目右键->Properties->Android,在Is Library中选择路径),一个基本的PullToRefreshViewPager,一个PullToRefreshListFragment。
2、用法
1)设置PullToRefreshListView支持上拉加载和下拉刷新->2)初始化控件,设置适配器->3)设置监听事件。在监听事件中处理上拉加载更多和下拉刷新,设置最后更新的时间。

[java] view plain
<pre name="code" class="java"><pre name="code" class="java">//1、支持上拉加载和下拉刷新
mPullRefreshListView.setMode(Mode.BOTH);

//2、设置适配器 mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListItems); mPullRefreshListView.setAdapter(mAdapter); //3、设置监听器mPullRefreshListView.setOnRefreshListener(new OnRefreshListener2<ListView>(){ @Override public void onPullDownToRefresh( PullToRefreshBase<ListView> refreshView){ // 显示最后更新的时间 refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label); //这里写下拉刷新的任务 new GetDataTask().execute(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView){ // 显示最后更新的时间 refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label);
[java] view plain
//这里写上拉加载更多的任务
new GetDataTask().execute(); } });

3、属性介绍
1)ptr:ptrMode="both"支持上拉加载和下拉刷新。disabled禁用下拉刷新和上拉加载。pullFromEnd仅支持上拉加载。manualOnly只允许手动触发。当然通过代码也可设置:lv.setMode(Mode.BOTH);
2)ptr:trAnimationStyle="flip" flip:翻转动画;rotate:旋转动画。
3)ptr:ptrDrawable="@drawable/ic_launcher"设置图标
4)刷新的时候,是否允许ListView或GridView滚动。觉得为true比较好。5)ptrListViewExtrasEnabled 决定了Header,Footer以何种方式加入mPullRefreshListView,true为headView方式加入,就是滚动时刷新头部会一起滚动。
4、自定义下拉指示器文本内容等效果:
在初始化完成PullToRefreshListView后,通过lv.getLoadingLayoutProxy()可得到一个ILoadingLayout对象,这个对象可设置各种指示器中的样式、文本等。

[java] view plain
ILoadingLayout startLabels = mPullRefreshListView
.getLoadingLayoutProxy();
startLabels.setPullLabel("你可劲拉,拉...");// 刚下拉时,显示的提示
startLabels.setRefreshingLabel("好嘞,正在刷新...");// 刷新时
startLabels.setReleaseLabel("你敢放,我就敢刷新...");// 下来达到一定距离时,显示的提示
默认是上拉和下拉的字同时改变的,如果希望单独改变呢:

[java] view plain
private void initIndicator(){
ILoadingLayout startLabels = mPullRefreshListView
.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("你可劲拉,拉...");// 刚下拉时,显示的提示
startLabels.setRefreshingLabel("好嘞,正在刷新...");// 刷新时
startLabels.setReleaseLabel("你敢放,我就敢刷新...");// 下来达到一定距离时,显示的提示

ILoadingLayout endLabels = mPullRefreshListView.getLoadingLayoutProxy(
false, true);
endLabels.setPullLabel("你可劲拉,拉2...");// 刚下拉时,显示的提示
endLabels.setRefreshingLabel("好嘞,正在刷新2...");// 刷新时
endLabels.setReleaseLabel("你敢放,我就敢刷新2...");// 下来达到一定距离时,显示的提示
}

2. Android 加载GridView,UI阻塞问题

先开线程下载图片。等图片下载完成以后,通过SendMessage的方式通知主线程的Handler更新GridView。

3. android的gridview加载图片一多了就卡,甚至程序OMM溢出

造成这个的原因可能有几个方面:

1、图片的体积过大,导致加载几张就可能oom,解决办法是优化图片以后再加载
2、在android3.0以下的机器上,bitmap资源需要自己手动释放,就是需要自己监听滑动事件释放不在屏幕中图片所在的资源
不过实际项目开发中,一般用的都是第三方的图片加载框架,图片池、异常的捕获和处理等都处理好了,推荐使用Glide即可

4. android通过Gridview点击的item获取对应数据并加载到另一个gridview里

第一个GridView设置监听

gridView1.setOnItemClickListener(newOnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){
//TODOAuto-generatedmethodstub

}
});

回调方法里第三个参数就是你当前点击Item的位置了,根据这个位置从数据源里把数据取出来,加载到gridView2里就行了

5. SCrollView嵌套GridView,ScrollView如何实现上啦加载下拉刷新

gridview
本来就可以上下滑动
干嘛还要加一个竖直滑动控件了?

6. android gridview 最后如何加一个加载更多

Gridview动态加载释放图片资源在Android开发App中经常会用到ListView和Gridview的item中加载图片显示的情况。但是如果图片多了就会遇到内存溢出的情况,及时你对图片做了缩放处理但是图片张数多了还是一样的会内存溢出。所以这个时候就需要我们动态

7. android gridView分页谁做过

这种分页也就是重写onkeyDown等方法判断Y方向的值 判断是否加载新的一页,是上一页还是下一页

8. GridView只加上拉加载更多怎么做

请将问题描述清楚,好为你解答。


若是页面显示时候GridView就显示好数据,那要在页面的Load事件里写:

DataTable dt=(获取数据);

GridView1.DataSource=dt;

GridView1.DataBind();


若是GridView在页面中动态创建,有两种方法:

  1. 动态生成GridView;

  2. 先将GridView控件放在页面中并设置Visible属性为false,在需要的时候再将Visible属性设为true;

阅读全文

与androidgridview上拉加载相关的资料

热点内容
网盘忘记解压码怎么办 浏览:852
文件加密看不到里面的内容 浏览:651
程序员脑子里都想什么 浏览:430
oppp手机信任app在哪里设置 浏览:185
java地址重定向 浏览:268
一年级下册摘苹果的算法是怎样的 浏览:448
程序员出轨电视剧 浏览:88
服务器系统地址怎么查 浏览:54
解压游戏发行官 浏览:601
国外小伙解压实验 浏览:336
顶级大学开设加密货币 浏览:437
java重载与多态 浏览:528
腾讯应届程序员 浏览:942
一键编译程序 浏览:129
语音加密包哪个好 浏览:340
有什么学习高中语文的app 浏览:282
安卓手机的表格里怎么打勾 浏览:411
阿里云服务器有网络安全服务吗 浏览:970
超解压兔子视频 浏览:24
单片机怎么测负脉冲 浏览:176