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