編輯:關於Android編程
項目中,為了實現不同fragment之間值得傳遞,首先想到的是利用bundle或者shareprefercnce之類的共享數據機制,當不符合項目需求,有點過於復雜和冗余,就利用網上一位前輩的建議,在主Activity中,創建一個共享的數據變量,在其他fragment中只要獲取到這個值就可以得到數據,實現共享,代碼如下:
主activity定義一個共享數據變量: private String instrName; public String getInstrName() { return instrName; } public void setInstrName(String instrName) { this.instrName = instrName; }
String instrName = ((MainActivity)getActivity()).getInstrName();
其實難點在於,第一次切換到fragment b中,已經實例化的時候,確實能得到共享的數據,當第二次切換到fragment b,點擊的是其他的列表項,這時候我發現,這個fragment b已經被我隱藏了,並且是這樣的:(已經初始化的fragment就不再初始化,只需要hide隱藏),但是隱藏了之後,這段獲取數據的代碼
String instrName = ((MainActivity)getActivity()).getInstrName();
應該放到哪裡會執行呢?
我的要求是從fragment a一切換到fragment b中就要馬上獲取到共享的數據,並展現在fragment b的列表中?
解決方案其實是有的,以前activity在恢復顯示的時候有一個方法就是監聽顯示是否完成,同樣對於fragment也有類似的方法可以監聽,如下:
@Override public void onHiddenChanged(boolean hidd) { if (hidd) { String instrName = ((MainActivity)getActivity()).getInstrName(); System.out.println(當對沖界面重新恢復顯示時候,得到從開倉單獲取到的商品名稱+instrName+***************++++++++++++*****); System.out.println(當對沖界面重新恢復顯示時候,得到從開倉單獲取到的商品名稱+instrName+***************++++++++++++*****); } else { //相當於Fragment的onPause String instrName = ((MainActivity)getActivity()).getInstrName(); System.out.println(當對沖界面重新恢復顯示時候,得到從開倉單獲取到的商品名稱+instrName+***************++++++++++++*****); } }這樣在fragment隱藏或者顯示的時候,都能夠獲取到共享的數據。注意點是第一次是需要new一個frament對象,這時候也要得到共享數據,只需要將代碼寫到oonCreateView中即可。
網盤存儲個人開發者往往沒有自己的後台服務器,但同時又想獲取app的運行信息,這就要借助於第三方的網絡存儲(也叫網盤、雲盤、微盤等等)。通過讓app自動在網盤上存取文件,可
1. 圖片縮放後對齊的問題 在Android的開發中,如何使用圖片對很多開發人員是一個很頭痛的事。最常見的問題是在一台手機上調試好的UI,在不同dpi的手機上會變形。
最近在弄個項目,要求有跑馬燈效果的圖片展示。網上搜了一堆,都沒有完美實現的算了還是自己寫吧! 實現原理利用 ViewPager 控件,這個控件本身就支持滑動翻頁很好很強大
最近在項目開發中,由於項目的需求要實現一些列表的單選,多選,全選,批量輸入之類的功能,其實功能的實現倒不是很復雜,需求中也沒有涉及到復雜的動畫什麼之類,主要是解決列表數據