1. 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的方法哦 !!!#–
本文 到此结束 希望对各位有所帮助 有问题可以评论区提出 大家一起进步
2. android activity从一个activity调到另一个activity 返回的时候数据刷新怎么办
启动另外一个activity的时候用startActivityResult,别用startActivity
然后在启动前这个Activity的onActivityResult中写刷新的代码
启动前这个activity的代码
java">publicvoidonButtonClick(Viewv){
Intentintent=newIntent(this,TranslateActivity.class);
startActivityForResult(intent,100);
//100是可以自定义的一个数值,只要和onActivityResult中的100对应上就行
}
@Override
protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
super.onActivityResult(requestCode,resultCode,data);
if(resultCode==RESULT_OK){
if(requestCode==100){
//刷新的代码写在这里
}
}
}
后一个activity关闭时的代码片段
publicvoidonBtnCloseClick{
Intentintent=newIntent();
intent.putExtra("user","bcoder");
//设置返回结果为RESULT_OK,intent可以传入一些其他的参数,在onActivityResult中的data中可以获取到
setResult(RESULT_OK,intent);
}
3. Android 应用中捕获返回事件,后退到的Acitivity 的内容自动经过刷新,应该如何实现
1、onCreate 方法只在activity一开始创建的时候执行。
2、也就是在该activity销毁后才能再次执行,假如当前activity上再打开一个activity,并且原来的activity已经销毁了,再返回原来的activity会重新执行onCreate
3、可以通过activity的生命周期的onStart方法或者是onResume方法对原来界面的数据进行刷新,也可以使用回调方法,或者是handler + Message