Come impostare un viewModel quando i dati provengono da un ricevitore Broadcast

2
Votes

Ciao, sto lavorando a un'app che mostra i dati inviati da un ricevitore di trasmissione. Attualmente ho aggiunto alcuni metodi di callback che aggiornano l'interfaccia utente dopo aver ricevuto i dati. Ora voglio introdurre viewModel e l'associazione dati. Allora come progetto il viewModel? Ecco com'è il codice ora:

Ciao, sto lavorando a un'app che mostra i dati inviati da un ricevitore di trasmissione. Attualmente ho aggiunto alcuni metodi di callback che aggiornano l'interfaccia utente dopo aver ricevuto i dati. Ora voglio introdurre viewModel e l'associazione dati. Quindi come progetto il viewModel? Ecco come è ora il codice:

Ricevitore di trasmissione:

Ricevitore di trasmissione:
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 () { //codice override fun onReceive (context: Context ?, intent: Intent?) { // Altro codice listener.onDataReceive (mydata) } }

In My Default Fragment:

In My Default Fragment:
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 { override fun onCreate (savedInstanceState: Bundle?) { super.onCreate (savedInstanceState) } sovrascrivi il divertimento suCreateView ( inflater: LayoutInflater, contenitore: ViewGroup ?, saveInstanceState: Bundle? ): Visualizza? { val mView=inflater.inflate (R.layout.default_fragment, container, false) loadEngine () return mView; } override fun onDataReceive (mydata: String) { textview.text=valore } }

Source

broadcastreceiver android kotlin fragment viewmodel

-Sylwek

Waiting for the answer

Potreste essere interessati

© 2021   Risposta.org