在上退按钮上,单击导航到活动中的特定片段

时间:2018-06-27 06:49:37

标签: android kotlin

我正在尝试使用Up(<-)从第二项活动导航到第一项活动底部导航视图中的特定片段返回键。 我已经尝试过代码

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

但是,当将父活动放置在清单文件中时,它不会显示我所需的片段。它将在第一个活动中显示为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()

我想在第二个活动中单击UP backButton时转到第三个片段。 谢谢你

1 个答案:

答案 0 :(得分:0)

  

在“第二个活动”中单击“上一步”后退按钮时,会传递一个意图标志。

如下所示

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()
}