На кнопку «Назад» нажмите, чтобы перейти к определенному фрагменту из действия. - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь перейти от второго действия к определенному фрагменту в Вид навигации снизу в первого действия с помощью кнопки «вверх» (<-) назад. я пробовал код </p>

         val actionBar = supportActionBar
         actionBar!!.setDisplayHomeAsUpEnabled(true)

но, при размещении родительского действия в файле манифеста, он не будет показывать фрагмент, который требуется для меня. В 1-м действии он перейдет к фрагменту Home.

Это мой фрагмент кода в Первом занятии

      btm = findViewById(R.id.navigation) as BottomNavigationView
         btm.setOnNavigationItemSelectedListener { item ->
        var selectedFragment: Fragment? = null
        when (item.itemId) {
            R.id.navigation_home ->
                selectedFragment = ReferFragment.newInstance()
            R.id.navigation_dashboard ->
                selectedFragment = AccountFragment.newInstance()
            R.id.navigation_notifications ->
                selectedFragment = ProfileFragment.newInstance()
        }

        var ft: FragmentTransaction = 
                    supportFragmentManager.beginTransaction()
        ft.replace(R.id.fragment_container, selectedFragment)
        ft.commit()
        true
    }
    var ft: FragmentTransaction = supportFragmentManager.beginTransaction()
    ft.replace(R.id.fragment_container, ReferFragment.newInstance())
    ft.commit()

Я хочу перейти к третьему фрагменту, нажимая кнопку ВВЕРХ назад во втором упражнении. СПАСИБО

1 Ответ

0 голосов
/ 27 июня 2018

При нажатии кнопки «Вверх» из «Второго занятия» передается флаг намерения.

как показано ниже

Intent mIntent=new Intent(SecondActivity.this,FirstActivity.class);
mIntent.putExtra("IS_FROM_SECOND",true);
startActivity(mIntent);

Сейчас в первом занятии в onCreate()

проверка намерений

boolean isFromSecond=getIntent().hasExtra("IS_FROM_SECOND");

Примечание: - Не используйте ключ "IS_FROM_SECOND" в любых других целях.

так что если это так, то проверка

if(isFromSecond)
  var ft: FragmentTransaction = supportFragmentManager.beginTransaction()
    ft.replace(R.id.fragment_container, 3rdFragment.newInstance())
    ft.commit()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...