Como configurar um viewModel quando os dados vêm de um receptor de Broadcast

2
Votos

Olá, estou trabalhando em um aplicativo que mostra dados enviados de um receptor de transmissão. Atualmente, adicionei alguns métodos de retorno de chamada que atualizam a IU depois que os dados são recebidos. Agora, quero apresentar viewModel e databinding. Então, como faço para projetar o viewModel? Veja como o código está agora:

Olá, estou trabalhando em um aplicativo que mostra dados enviados de um receptor de transmissão. Atualmente, adicionei alguns métodos de retorno de chamada que atualizam a IU depois que os dados são recebidos. Agora, quero apresentar viewModel e databinding. Então, como faço para projetar o viewModel? Veja como o código está agora:

Receptor de transmissão:

Receptor de transmissão:
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) } } classe BroadcastReceiver: BroadcastReceiver () { //código override fun onReceive (context: Context ?, intent: Intent?) { // Mais código listener.onDataReceive (mydata) } }

Em Meu Fragmento Padrão:

Em Meu Fragmento Padrão:
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 } } classe FragmentDefault: Fragment (), MyDataListener { substituir fun onCreate (savedInstanceState: Bundle?) { super.onCreate (savedInstanceState) } override fun onCreateView ( inflater: LayoutInflater, container: ViewGroup ?, savedInstanceState: Bundle? ): Visão? { val mView=inflater.inflate (R.layout.default_fragment, container, false) loadEngine () return mView; } override fun onDataReceive (mydata: String) { textview.text=value } }

Fonte

broadcastreceiver android kotlin fragment viewmodel

-Sylwek

Esperando a resposta

Você pode interessar

© 2021   OlaMundo.Org