导航:首页 > 操作系统 > androidfragment刷新界面

androidfragment刷新界面

发布时间:2023-05-10 13:13:55

‘壹’ fragment如何刷新界面

你可扰模衫以这样设置下:
自己写一个
缓存类,用于保存用户第一次从数据库读取出来的数据,当第2次进来的时候,先把这个缓存数据赋值上去,同事判断网络上的数据有没有更新,在刷到这个页面,码陵同时并更新数据库!这样比每次都从数据库都取效缓腔果要好些!

‘贰’ android 怎样在fragment中给listview添加下拉刷新上拉加载

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

‘叁’ Android中Fragment怎样刷新UI

刷新UI要在主颂绝线程,Fragment和Activity是类似的,所以在要刷新UI的地方handler发者樱扒送消息,在主线程中定义的首昌hanler处理消息,更新UI,建议看下安卓的安卓handler机制。

‘肆’ android 怎么刷新fragment页面

  1. 通常的做法,在onResume中发一起一个异步的请求去拿数据,通过回调,收到返回的数据,然后更新UI。

  2. 网络获取数据结束判断数据有更新,然后通过set将控件的数据更新。

举例:

  1. 这个是我的一个fragment,我把它放在一个viewpager的fragment中

java">{
privatestaticfinalStringARG_CITY="city";
privateStringmCity;
privateTextViewtmpD;
privateTextViewtmpN;
privateSimpleDraweeViewimageD;
privateSimpleDraweeViewimageN;
(Stringcity){
BottomFragmentOnefragment=newBottomFragmentOne();
Bundleargs=newBundle();
args.putString(ARG_CITY,city);
fragment.setArguments(args);
returnfragment;
}
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
if(getArguments()!=null){
mCity=getArguments().getString(ARG_CITY);
}
}
@Override
publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,
BundlesavedInstanceState){
//
Viewview=inflater.inflate(R.layout.bottom_fragment_one,container,false);
tmpD=(TextView)view.findViewById(R.id.tmp_d);
tmpN=(TextView)view.findViewById(R.id.tmp_n);
imageD=(SimpleDraweeView)view.findViewById(R.id.image_d);
imageN=(SimpleDraweeView)view.findViewById(R.id.image_n);
setUI();
returnview;
}
//用来设置UI,更新UI时重新从数据库获取数据,进行设置
publicvoidsetUI(){
Forecastforecast=mFrecastDao.getForecastByCity(mCity);
tmpD.setText(forecast.getDaily_1_max());
tmpN.setText(forecast.getDaily_1_min());
imageD.setImageURI(getImageUri(forecast.getDaily_1_code_d()));
imageN.setImageURI(getImageUri(forecast.getDaily_1_code_n()));
}
}

2.除了上面那个,还有一个类似的fragment,我想实按下按钮后,在两个fragment之间进行切换。下面是按钮代码

@Override
publicvoidonClick(Viewv){
FragmentManagerfm=getChildFragmentManager();
//开启Fragment事务
=fm.beginTransaction();
switch(v.getId())
{
caseR.id.button_left:
if(mBottomOne==null)
{
mBottomOne=newBottomFragmentOne().newInstanceOne(mCity);
}//使用当前Fragment的布局替代id_content的控件
transaction.replace(R.id.bottom_weather,mBottomOne);
break;
caseR.id.button_right:
if(mBottomTwo==null)
{
mBottomTwo=newBottomFragmentTwo().newInstanceTwo(mCity);
}
transaction.replace(R.id.bottom_weather,mBottomTwo);
break;
}
//事务提交
transaction.commit();
}

3.下面是viewpager中的fragment用来更新上面两个fragment数据的方法。

publicvoidUpdateUI(){
mBottomOne.setUI();
mBottomTwo.setUI();
}

‘伍’ android fragment 刷新功能

本文 介绍两点 已是fragment的切换 一是fragment刷新  

先说第一点 fragment的切换  

目前fragment在开发中应用越来越广泛 当然也非常方便 

而我们切换fragment 也有两中方式 

第一种是replace的方法进行的 这种方式要看运用场景 用起来很方便 但是个人感觉效果并不好 因为这种方式进行切换得话 首先他会remove掉当前的fragment,然后在new 一个新的fragment进行add,也就是说当前fragment中的所有东西都是重新加载的 所以个人不建议使用这种方式进行fragment的高频率切换 这种只适合fragment切换和使用次数比较少的情况 

第二种是show+hide 进行fragment切换 这种方式相比第一指携铅种可能会复杂一点 首先要建立几个fragment 开始事务 然后判断添加 举个例子 

1 创建fragment…… 

2 添加事务 android.app.FragmentTransaction ft = getFragmentManager().beginTransaction(); 

–#在添加之前先进行判断隐藏#– 

// 这是hide fragment 的方法 

onHideFragment(ft); 

3 判断添加 

if (homeFragment==null){ 

homeFragment = new HomeFragment(); 

ft.add(R.id.content,homeFragment); 

}else { 

ft.show(homeFragment); 



4 判断隐藏 

if (homeFragment!=null){ 

ft.hide(homeFragment); 



5 添加一个默认显示fragment 也就是你进入activity需要显示的那个 

好 此时你就完成了使用hide + show 进行fragment切换了

现在我们说第二点 就是fragment的刷新需求  

我们可能会需要fragment的刷新功能 例如说是我首页使用fragment 进行功能切换时 希望返回到之前的fragment可以刷新 或者返回到activity时 fragment也可以刷新 本人使用了 两种方法进行fragment的隐岁刷新 我想大部分应该都会使用第一种 返回activity时 fragment刷新 就是重写acvitity的onstart() 方法进行刷新fragment的数据 但是这唯好是有弊端的 第一就是假如你使用了listview或者gridview 时会出现重复加载的情况 所以使用这种方法时 你就要进行清空数据并刷新适配器就可以避免了 

第二种 就是使用hide+show时 在fragment进行切换时 刷新fragment 此时会有这样一个这样的方法 onHiddenChanged(boolean hidden);看方法名 你也可以看出来 就是在hide有变化时使用 hidden参数是boolean 当hidden为true时表示fragment在hide 此时不必更新数据 当hidden为false时 他就不隐藏了 此时更新 

if (hidden){ 

return; 

}else { 

list.clear(); 

getSellList(); 



list是要清空的 避免重复加载 

–#onHiddenChanged(boolean hidden); 这是fragment的方法哦 !!!#– 

本文 到此结束 希望对各位有所帮助 有问题可以评论区提出 大家一起进步

‘陆’ Android中Fragment怎样刷新UI

在activity 的onActivityResult 调虚携罩用fragment 的onActivityResult 方法隐汪,
例如getSupportFragmentManager().getFragments().get(mViewPager.getCurrentItem()).onActivityResult(requestCode, requestCode, data);
然差闹后在fragment的onActivityResult做处理

阅读全文

与androidfragment刷新界面相关的资料

热点内容
解压解惑近义词 浏览:316
压缩比不一样燃烧室不一样 浏览:101
androidbutton左对齐 浏览:172
怎么找到学校的服务器 浏览:368
android状态栏高度是多少 浏览:987
linuxcliphp 浏览:515
萝卜源码如何关闭用户注册验证 浏览:756
苹果手机头条app怎么没有tv 浏览:563
电脑qq文件夹怎么发不出去 浏览:613
解压小游戏测试钻石剑的硬度 浏览:962
java结束函数 浏览:622
打开远程桌面的命令 浏览:836
树莓派如何搭建mqtt服务器 浏览:587
怎么加密w8文件 浏览:609
linuxprogram 浏览:708
php接口编程思想 浏览:92
如何下载电话软件app 浏览:906
java命令行解析 浏览:572
云服务器白嫖 浏览:917
程序员小清新 浏览:989