1. 程式人生 > >Android通過介面回撥來實現資料更新(Kotlin版)

Android通過介面回撥來實現資料更新(Kotlin版)

最近開發一個專案,用的是kotlin,本人kotlin水平有限,還請諒解,需要在fragment修改資料,然後更新到activity中,我使用介面回撥來完成這個需求。

先上一張圖來看一下
這裡寫圖片描述

修改完暱稱,不僅要在fragment裡更新資料,還要同步更新activity的資料

開始說明介面回撥來完成資料實時更新

介面回撥的作用就是:其一是傳遞資料,其二是保持資料的同步更新

  1. 在fragment裡定義介面
private var listener: onListener? = null  //定義一個變數儲存傳進來的listener 

    interface onListener {
        fun onListener(nickName: String)
    }     //定義介面
fun setOnListener(l:onListener){ listener = l } //提供公共的方法,並且初始化介面型別的資料 listener?.onListener(name) //在合適的位置呼叫,給介面賦值

這就是fragment裡的程式碼

在activity中,程式碼是這樣的

private val user by lazy { UserFragment() }

val l = object:UserFragment.onListener{
            override fun onListener(nickName: String) {
                setNickName(nickName)
            }
        }
        user.setOnListener(l)

這樣就通過介面回撥完成了資料的實時更新

相關推薦

Android通過介面實現資料更新Kotlin

最近開發一個專案,用的是kotlin,本人kotlin水平有限,還請諒解,需要在fragment修改資料,然後更新到activity中,我使用介面回撥來完成這個需求。 先上一張圖來看一下 修改完暱稱,不僅要在fragment裡更新資料,還要同步更新act

通過介面方式設定RecyclerView的條目點選監聽事件

提到RecyclerView大家總會拿它與ListView相比較, RecyclerView是具有比ListView更具擴充套件性的控制元件, RecyclerView繼承的是ViewGroup, 可以說也是ViewGroup的官方定義控制元件, Recycle

Android在BroadcastReceiver中通過介面更新介面

之前寫廣播接收器都是寫在Activity的內部的,覺得看起來很亂的感覺,畢竟廣播也事和活動是同一級別的元件之一,哪兒能放在活動的裡面啊,決定就來封裝一下,發現居然沒有思路,,同事說用靜態類,直接點就可以了, 但是靜態類在記憶體中不會被回收,只有等程式結束後才會回收,所以決

對於Android介面機制的理解

對於介面回撥機制首先要弄明白的問題是為什麼需要它,也就是介面回撥能為我們解決什麼問題: 在開發過程中我們經常會遇到一些有關觸發執行的問題,比如使用者觸發按鈕,然後程式就執行了一系列的操作的比如註冊登入啊;問題的核心在於為什麼是出發了按鈕才執行,不觸發就不執行嗎? 這個時候就能體現出各

Adapter與Activity通過介面進行互動

0. 前言 首先說明一下為什麼要寫這麼一篇部落格:最近看了一些其他人的專案,發現很多專案的做法是建立一個專門存放Adapter類的Package包,也有的專案乾脆直接都寫在Activity中。而我屬於

Activity與Fragment通過介面進行通訊

介面回撥在Android中有很多的應用,比如Activity裡的onCreat、onDestroy等方法,按鍵事件監聽。Android對Fragment的是在Android3.0時加入的,所以Android3.0  以前的系統並不支援Fragment,而為了使3.0以前的

Android介面、方法

在android開發中我們很多地方都用到了方法的回撥,回撥就是把方法的定義和功能匯入實現分開的一種機制,目的是為了解耦他的本質是基於觀察者設計模式,即觀察者設計模式的的簡化版,例如:在下載時候的進度回撥,在adapter與activity之間的回撥,在javabean和fr

kotlin介面實現方式(一)

沒啥好說的,看標題就明白了。程式碼比較繞,慢慢看…. 本來想解釋下程式碼,不過可能還在受上一篇帖子的影響吧,不知道說些什麼… 有不明白的留言吧… 可以先把程式碼複製一份到電腦上執行一下,先看看效果 package com.example.kotlin

Android介面

/**   * Bitmap回撥介面   *   */   public interface BitmapCallback {       public void getDownloadBitmap(Bitmap bitmap);  }   A  // 例項化ImageDo

Android介面事件

看見網上一些回撥的解釋都很複雜的,特別基於Android的自定義回撥,感覺一頭霧水,於是乎,我也寫了這篇基於我對回撥的解釋。 先來看一個簡單的例子: 有兩個類 ClassA ,和 ClassB, ClassA呼叫ClassB裡面的方法, public class Cla

Android介面的Demo例項

在平常開發中總是會涉及到回撥這個詞,作為一個新手,我覺得必須要好好了解下回調的機制,以及該怎麼用。 想看機制的可以看看這一篇文章:http://www.2cto.com/kf/201502/377156.html 網上看到一句話,A類呼叫B類的某個方法b,然後B類又在某個時

C#和C++的互操作——C++ dll 通過向C#傳送報文位元組流

C++的DLL通過一個回撥函式每隔1秒向C#的程式傳送一個報文(位元組流),回撥函式的簽名為 int fun(char* data,int len) 這個位元組流中包含的是下面這個結構體中的資料: typedef struct Msg {     INT64 durati

微信小程式支付流程,非同步及訊息模板呼叫php原始碼

首先還是老樣子把流程圖給大家發一下 商戶系統和微信支付系統主要互動: 1、小程式內呼叫登入介面,獲取到使用者的openid,api參見公共api【小程式登入API】 2、商戶server呼叫支付統一下單,api參見公共api【統一下單API】 3、商戶server呼叫再次簽

圖靈機器人介面實現自動回覆web

   這周剛好在研究網站裡的自動回覆客服( 機器人),在網上看了很多資料,大都是基於移動端,網頁版的少之又少。在踩了無數個坑之後終於摸索出了一條泥濘小路(哭兮兮),在這裡跟大家分享一下,有不足之處歡迎指正(當然各位路過的大佬有更好的實現也可以一起探討哈哈哈哈)。咳咳話題有點

MapReduce實現資料清洗去重

上面是資料的格式 特徵碼#路徑(路徑裡面包括身份證號和姓名),我通過身份證號進行去重。 Map程式 public static class DistinctMaper extends Mapper<LongWritable, Text, Text, PeopleBe

JQeury添加和刪除class內部實現代碼簡化

就是 while bsp span indexof val 元素 move 添加 下面是JQuery對元素class操作的簡單實現,請看代碼: 添加class: //增加class function addClass(elem,value)

利用python進行資料分析第二 pdf下載

適讀人群 :適合剛學Python的資料分析師或剛學資料科學以及科學計算的Python程式設計者。 閱讀本書可以獲得一份關於在Python下操作、處理、清洗、規整資料集的完整說明。本書第二版針對Python 3.6進行了更新,並增加實際案例向你展示如何高效地解決一系列資料分析問題。你將在閱讀

android建立通知欄kotlin

轉載請註明出處:https://blog.csdn.net/u011038298/article/details/84346108  import android.app.Application import android.app.NotificationChannel import

資料結構C#筆記(一)

1.資料結構邏輯結構(Data Structure) 資料結構是相互之間存在一種或多種特定關係的資料元素的集合。在任何問 題中,資料元素之間都不是孤立的,而是存在著一定的關係,這種關係稱為結構 (Structure)。根據資料元素之間關係的不同特性,通常有 4 類基本資料結構

python資料清洗總結-思維導圖

資料清洗是資料預處理的重要組成部分,也是耗時間最長的一部分,因此根本多篇文章總結腦圖便於自己梳理清楚資料清洗的處理步驟,由此知道資料清洗該如何下手。 借鑑文章及資料如下: 專欄1:資料清洗https://zhuanlan.zhihu.com/dataclean