データがブロードキャストレシーバーから送信されているときにviewModelを設定する方法

2
投票

こんにちは私は放送受信機から送信されたデータを表示するアプリに取り組んでいます。現在、データの受信後にUIを更新するコールバックメソッドをいくつか追加しました。ここで、viewModelとデータバインディングを紹介します。では、viewModelをどのように設計しますか?コードは次のようになります。

こんにちは私は、放送受信機から送信されたデータを表示するアプリに取り組んでいます。現在、データの受信後にUIを更新するコールバックメソッドをいくつか追加しました。ここで、viewModelとデータバインディングを紹介します。では、viewModelをどのように設計しますか?コードは次のようになります。

ブロードキャストレシーバー:

ブロードキャストレシーバー:
class BroadcastReceiver: BroadcastReceiver(){

    //code

    override fun onReceive(context: Context?, intent: Intent?){
        //More Code
        listener.onDataReceive(mydata)
    }
}
class BroadcastReceiver: BroadcastReceiver(){ //code override fun onReceive(context: Context?, intent: Intent?){ //More Code listener.onDataReceive(mydata) } } class BroadcastReceiver:BroadcastReceiver(){ //コード オーバーライド楽しいonReceive(コンテキスト:コンテキスト?、インテント:インテント?){ //その他のコード listener.onDataReceive(mydata) } }

デフォルトフラグメント内:

デフォルトフラグメント内:
class FragmentDefault : Fragment(), MyDataListener {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val mView=inflater.inflate(R.layout.default_fragment, container, false)
        loadEngine()
        return mView;
    }

    override fun onDataReceive(mydata: String) {
        textview.text=value
    }

}
class FragmentDefault : Fragment(), MyDataListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { val mView=inflater.inflate(R.layout.default_fragment, container, false) loadEngine() return mView; } override fun onDataReceive(mydata: String) { textview.text=value } } class FragmentDefault:Fragment()、MyDataListener { fun onCreate(savedInstanceState:Bundle?){をオーバーライドします super.onCreate(savedInstanceState) } fun onCreateView(をオーバーライドする インフレータ:LayoutInflater、 コンテナ:ViewGroup ?、 savedInstanceState:バンドル? ): 見る? {{ val mView=inflater.inflate(R.layout.default_fragment、container、false) loadEngine() mViewを返します。 } fun onDataReceive(mydata:String){をオーバーライドします textview.text=value } }

ソース

broadcastreceiver android kotlin fragment viewmodel

-Sylwek

答えを待っています

興味があるかもしれません

© 2021   KonnichiwaSekai.Com