-
在Android開發中,有時候我們需要在新開啟的視窗中傳遞資料回來。例如:在新開啟的 DialogFragment 視窗傳遞資料回 MainActivity 啟動視窗
-
程式碼舉例
-
首先在 MainActivity 中定義例項化一個 DialogFragment 視窗
// MainActivity.java // 點選按鈕開啟一個 DialogFragment 視窗 btn.setOnClickListener(v ->{ DialogFragment1 dialogFragment = new DialogFragment1(); // 假定 DialogFragment 視窗類名為DialogFragment1 dialogFragment.show(getFragmentManager(), "dialogFragment"); // 顯示 DialogFragment 視窗 });
-
隨後在需要開啟的 DialogFragment 類中建立介面並回傳資料
//DialogFragment1.java // SetOnClickDialogListener 為自定義類,在未建立完成時回持續爆紅 private SetOnClickDialogListener clickListener; //定義構造方法,用於在 MainActivity 中接收資料 public void mOnClickListener(SetOnClickDialogListener l){ this.clickListener = l; } //自定義類的介面,裡面的 ClickDialogListener 為 DialogFragment 中自定義的使用方法與形參,用於回傳資料 public interface SetOnClickDialogListener{ //這裡假定需要回傳一個字串與一個整數 void ClickDialogListener(String str, int num); } //點選按鈕回傳資料 btn.setOnClickListener(v -> { clickListener.ClickDialogListener("hallow, world!", 1); //回傳資料 this.dismiss();//關閉視窗 });
-
MainActivity 中接收資料
// MainActivity.java btn.setOnClickListener(v ->{ DialogFragment1 dialogFragment = new DialogFragment1(); // 假定 DialogFragment 視窗類名為DialogFragment1 dialogFragment.show(getFragmentManager(), "dialogFragment"); // 顯示 DialogFragment 視窗 //使用 DialogFragment 類中自定義的構造方法進行接收資料 dialogFragment.mOnClickListener((str, num) -> { //充分利用所接收到的資料 if (num == 1) { btn.setText(str) } }); });
-
-
如此這般即可實現資料回傳,如果是在 MainActivity 中傳遞資料到 DialogFragment 中,不建議使用此方法,建議使用 Bundle 類 進行傳遞
Android開發 - 使用自定義介面在新視窗中傳回資料
相關文章
- 如何總是在新視窗中開啟資料夾?
- Android 自定義空資料提示介面 EmptyViewAndroidView
- 在.NET 6.0中自定義介面路由路由
- Android開發筆記(一百一十八)自定義懸浮窗Android筆記
- Android:PopWindow — 對Android的底部彈窗、頂部彈窗選單及自定義介面的使用封裝Android封裝
- android短視訊開發,自定義下拉選單Android
- FineUIMvc隨筆(4)自定義回發引數與自定義回發UIMVC
- 在資料庫中自定義外部函式資料庫函式
- Android中水波紋使用之自定義檢視實現Android
- Android開發之自定義SpinnerAndroid
- Android開發---在RecyclerView列表中新增自定義的列表頭部與尾部檢視AndroidView
- Vue中在新視窗開啟頁面 及 Vue-routerVue
- 以post方式傳參方式開啟新視窗
- 使用jQuery在javascript中自定義事件jQueryJavaScript事件
- Android進階:自定義視訊播放器開發(上)Android播放器
- Android進階:自定義視訊播放器開發(下)Android播放器
- 如何使用Android自定義複合檢視Android
- Windows Phone 中WebBrowser開啟新視窗WindowsWeb
- Android開發教程 - 使用Data Binding(八)使用自定義InterfaceAndroid
- 自定義Toast及視窗透明處理AST
- Qt入門(19)——自定義視窗部件QT
- 自定義開發資料庫升級程式資料庫
- Android開發之自定義View(一)AndroidView
- Android開發之自定義View(二)AndroidView
- 在VC++中建立自定義資料庫類 (轉)C++資料庫
- C#防止WebBrowser在新視窗中開啟連結頁面C#Web
- vue 內開啟一個新視窗,帶傳參!Vue
- 短視訊平臺開發,自定義一個彈窗樣式和內容
- 偏前端 – jquery-iframe內觸發父視窗自定義事件-前端jQuery事件
- android: 傳送自定義廣播Android
- thinkphp6 使用自定義命令,生成資料庫檢視PHP資料庫
- js開啟新視窗JS
- Android開發進階——自定義View的使用及其原理探索AndroidView
- 直播軟體開發,工具類的自定義彈窗效果
- Android Studio NDK開發:自定義庫Android
- Qt之彈出介面顯示在父視窗中間QT
- iOS開發 AVFoundation 自定義視訊錄製iOS
- 使用C#開啟新視窗關閉舊視窗的方法;winform中防止重複開啟多個相同子窗體C#ORM