Ко многим аргументам при использовании android-навигации safeArgs

Я создаю навигационный график в android и даю аргументы для пункта назначения, но когда я вызвал функцию, она говорила слишком много аргументов.

  • уже настроен на build.gradle (приложение) apply plugin: 'androidx.navigation.safeargs'

  • уже настроен на build.gradle (.) dependecies { classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha05" }

  • это мой источник моей навигации

<fragment
        android:id="@+id/game_fragment_destination"
        android:name="com.example.apparchitectureuilayer.screen.game.GameFragment"
        android:label="GameFragment"
        tools:layout="@layout/fragment_game">
        <action
            android:id="@+id/action_game_fragment_destination_to_scoreFragment"
            app:destination="@id/score_fragment"
            app:launchSingleTop="true"
            app:popUpTo="@+id/title_destination" />
    </fragment>
  • это мой пункт назначения моей навигации
<fragment
        android:id="@+id/score_fragment"
        android:name="com.example.apparchitectureuilayer.screen.score.ScoreFragment"
        android:label="ScoreFragment"
        tools:layout="@layout/fragment_score">
        <action
            android:id="@+id/action_score_fragment_to_game_fragment_destination"
            app:destination="@id/game_fragment_destination" />
        <argument
            android:name="score"
            android:defaultValue="0"
            app:argType="integer" />
    </fragment>
  • это мой код котлина для источника моей навигации
class GameFragment : Fragment() {

    private var word = ""
    private var score = 0
    private lateinit var wordList: MutableList<String>

    private lateinit var binding: FragmentGameBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }

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

    private fun gameFinished() {
        val action = GameFragmentDirections.actionGameFragmentDestinationToScoreFragment(score)
        NavHostFragment.findNavController(this).navigate(action)
    }
}

Когда я вызвал его внутри неиспользуемой функции gameFinished, GameFragmentDirections.actionGameFragmentDestinationToScoreFragment(score) он говорил многим аргументам: есть идеи, как решить?


comment
У вас есть доступ к score в ScoreFragment с помощью аргументов?   -  person aminography    schedule 05.09.2020
comment
Можете ли вы опубликовать полный код, в котором определяется ваш sc и где вы определяете и выполняете свою навигацию?   -  person cewaphi    schedule 05.09.2020
comment
@cewaphi спасибо, добавили на мои вопросы;)   -  person ridhopratama    schedule 05.09.2020
comment
@aminography да, у меня есть доступ к нему через val args = ScoreFragmentArgs.fromBundle (arguments) val score = args.score, но все же, слишком много аргументов в источнике моей навигации   -  person ridhopratama    schedule 05.09.2020
comment
это ответ на ваш вопрос для ненулевого публичного открытого веселья "> stackoverflow.com/questions/57029081/ также проверьте this   -  person Mohammed Alaa    schedule 05.09.2020
comment
Перейдите к источнику actionGameFragmentDestinationToScoreFragment и проверьте сгенерированный код для него.   -  person aminography    schedule 05.09.2020
comment
@MohammedAlaa, да, мой вопрос повторяется, спасибо за ответ. решается путем удаления android: defaultValue = 0 и повторной сборки.   -  person ridhopratama    schedule 05.09.2020
comment
@aminography ранее не получала никаких параметров. Но после того, как я удалил android: defaultValue = 0 в навигационном графике и перестроил, теперь он получал один параметр, то есть оценку. спасибо, моя проблема решена   -  person ridhopratama    schedule 05.09.2020
comment
в настоящее время я следил за учебником по Android kotlin от udacity. Он предоставлял шаблонный проект, вместо того, чтобы использовать его, я настроил его сам. В предоставленном ими шаблоне проблема не появляется, хотя существует android: defaultValue = 0. но почему в моем случае и в повторяющейся проблеме, такой как упоминание @MohammedAlaa, эта проблема возникает?   -  person ridhopratama    schedule 05.09.2020
comment
проверьте, что это может очистить точку stackoverflow.com/questions/60807867/   -  person Mohammed Alaa    schedule 05.09.2020