Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

254
Visualizações
Using safeargs I get "required Bundle found Bundle?"

I am passing arguments using safeargs. In the reciving fragment I am getting a compile error: 'Required Bundle Found Bundle?'. Cannot see where the error has crept in.

Googled around, checked text and udacity tutorial

Where error appears (at 'arguments')

package com.example.android.naveditoryoutube

import android.arch.lifecycle.ViewModelProviders
import android.os.Bundle
import android.support.v4.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import kotlinx.android.synthetic.main.fragment_two_fragment.*

class FragmentTwo : Fragment() {

    companion object {
        fun newInstance() = FragmentTwo()
    }

    private lateinit var viewModel: FragmentTwoViewModel

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.fragment_two_fragment, container, false)
    }

    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        viewModel = ViewModelProviders.of(this).get(FragmentTwoViewModel::class.java)

    }

    override fun onStart() {
        super.onStart()
        var args = FragmentTwoArgs.fromBundle(arguments)
        argText.text = args.calculated_Number
    }

}

Sending code:

package com.example.android.naveditoryoutube

import android.arch.lifecycle.ViewModelProviders
import android.os.Bundle
import android.support.v4.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import androidx.navigation.Navigation
import kotlinx.android.synthetic.main.fragment_one_fragment.*


class FragmentOne : Fragment() {


    companion object {
        fun newInstance() = FragmentOne()
    }

    private lateinit var viewModel: FragmentOneViewModel


    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {



        return inflater.inflate(R.layout.fragment_one_fragment, container, false)

    }

    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        viewModel = ViewModelProviders.of(this).get(FragmentOneViewModel::class.java)

        var calculated_Number : String = viewModel.sendNewNumber().toString()

        button_calculate.setOnClickListener{view: View ->
            if (number_box.text.isNotEmpty()){
                var number_entered: String = number_box.text.toString()
                viewModel.findNewNumber((number_entered))
                calculated_Number = viewModel.sendNewNumber()
               Navigation.findNavController(view).navigate(FragmentOneDirections.actionFragmentOneToFragmentTwo(calculated_Number))
            }


        }
    }

}

Error appears here var args = FragmentTwoArgs.fromBundle(arguments)

arguments is expected to be Bundle but is Bundle?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

I had to change it to use !!

var args = FragmentTwoArgs.fromBundle(arguments!!)

over 4 years ago · Santiago Trujillo Relatório

0

use requireArguments() instead of arguments!!

over 4 years ago · Santiago Trujillo Relatório

0

try using requireArguments() instead of arguments

var args = FragmentTwoArgs.fromBundle(requireArguments())
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda