在其他編程語言中,比如Delphi, C#等,有GroupBox,Panel,或者TabSheet,可以作為容器供開發者放置許多控制元件,然后根據條件來設定哪個容器可見,從而很方便的獲得資料。
而在AS中,似乎沒這些東西,只有Fragment似乎可以充當這個角色(需配合TabLayout, ViewPager)。但Fragment與主Activity傳值又很麻煩,比如需要每一個Fragment里面有個用來觸發傳值的按鈕,但我的Fragment里面沒有按鈕,只有Activity才有保存的按鈕,那如何傳值呢?
我是AS新手,有很多不成熟的想法,請各位不要笑話,有好的解決辦法,請指點一下,萬分感謝!
uj5u.com熱心網友回復:

看了很多網上的帖子,都是在Fragment里面有個用來觸發傳值動作的按鈕,比如上圖中的保存按鈕,意思是通知主Activity:我已經完成了資訊收集,現在把值發給你,請接收。好像沒有這個觸發的動作,主Activity就沒辦法得到Fragment中的值!
但是,每個Fragment中有一個這樣的按鈕,覺得多此一舉,我不需要,因為主Activity中的確定按鈕,可以判斷當前是哪一個Fragment,然后用什么辦法得到里面的值,這個我就不知道怎么做了。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
那所有布局就都寫到activity你就可以了,干嘛要分開寫呢uj5u.com熱心網友回復:
由于選項多,控制元件多,都寫到Activity中,傳值固然方便,而且擺放必然是重疊的,看起來不方便啊
uj5u.com熱心網友回復:
為什么不用彈窗試一下呢?支持和Activity互動,,而且效果很好uj5u.com熱心網友回復:
可以用include 標簽,將不同的布局寫到不同的xml檔案總;
用 PopupWindow應該是也可以的,但是一般PopupWindow 有的是有確定,取消按鈕回呼傳值,直接PopupWindow彈出視窗,點擊activity的按鈕使PopupWindow消失,并且按鈕點擊事件生效,監聽PopupWindow setOnDismissListener 回呼傳值,這樣也可以,可能不怎么規范。
uj5u.com熱心網友回復:
用彈窗試一下看看,支持和Activity互動使用操作也方便,主要還是效果比較好,你可以嘗試一下呢uj5u.com熱心網友回復:
看看 嘗試一下uj5u.com熱心網友回復:
建議直接用Delphi、C++Builder做,一套原始碼直接編譯到windows、macOS、iOS、Android、Linuxuj5u.com熱心網友回復:
來學習來了!!uj5u.com熱心網友回復:
如果對Delphi有了解,會Pascal或C++語言,用Delphi或C++Builder寫移動app也很方便。新版C++ Builder即RAD Studio可以寫安卓、蘋果app,一套代碼編譯多平臺,可以先編譯為Windows版本方便除錯和測驗。

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/20378.html
標籤:Android
