Для многих аргументов в пользу publi c fun Fragment.findNavController () - PullRequest
1 голос
/ 14 января 2020
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.drawerlayout.widget.DrawerLayout
import com.example.tender.R
import com.example.tender.databinding.FragmentAvailableTenderBinding
import com.example.tender.databinding.FragmentLoginBinding
import androidx.navigation.fragment.findNavController
import androidx.navigation.ui.NavigationUI

/**
 * A simple [Fragment] subclass.
 */
class AvailableTenderFragment : Fragment() {

    private lateinit var drawerLayout: DrawerLayout

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

        val binding = FragmentAvailableTenderBinding.inflate(inflater)

        drawerLayout = binding.drawerLayout

        **val navController = this.findNavController(R.id.nav_host_fragment)**

        **NavigationUI.setupActionBarWithNavController(this, navController, drawerLayout)**

        NavigationUI.setupWithNavController(binding.navView, navController)

        binding.root

    }
}

"Для многих аргументов в пользу publi c fun Fragment.findNavController (): NAvcontroller, определенный в androidx.navigation.fragment", отображается, когда я нахожу указатель на findnavcontroller.Я не могу устранить ошибку, указанную выше линии. В этом случае что мне делать?

1 Ответ

0 голосов
/ 14 января 2020

Согласно . Перейдите к целевой документации . androidx.navigation.fragment.findNavController, который вы импортировали, не принимает параметров (он находит родительский NavHostFragment текущего фрагмента и не нуждается в идентификаторе NavHostFragment) .

Строки, которые вы написали, а именно findNavController(R.id.nav_host_fragment) и setupActionBarWithNavController() - это методы, которые вы вызываете в Деятельности, а не во Фрагменте.

...