Кнопка "Назад" во фрагменте открывает и закрывает панель навигации вместо возврата
У меня есть панель навигации, которая работает абсолютно нормально со значком ящика, однако, если я перехожу от активности ящика навигации к любому из моих фрагментов, также отображается стрелка назад, но при нажатии на панель навигации со стрелкой назад открывается, я просто хочу установить свой действие при нажатии кнопки "Назад" вместо открытия ящика. Пожалуйста, помогите мне исправить эту проблему.
Код активности моего ящика ниже
toggle?.setDrawerIndicatorEnabled(false);
drawer_layout.addDrawerListener(toggle!!)
toggle!!.syncState()
val header = (findViewById<NavigationView>(R.id.nav_view)).getHeaderView(0)
toggle!!.isDrawerIndicatorEnabled = false
toggle!!.setHomeAsUpIndicator(R.drawable.ic_profile_icon)
usernameTv = header.findViewById(R.id.username_tv)
profileImage = header.findViewById(R.id.profile_image_user)
userDesigTv = header.findViewById(R.id.user_designation_tv)
pointsTv = header.findViewById(R.id.points_tv)
userPhotoImv = header.findViewById(R.id.profile_image)
headerLayout = header.findViewById(R.id.header_layout_profile_edit)
mainWidgetBottomMenuLayout = findViewById(R.id.main_widget)
addProductTv = findViewById(R.id.add_products_tv);
createJobTv = findViewById(R.id.create_job_tv);
createPostTv = findViewById(R.id.create_post_tv);
closeBtn = findViewById(R.id.close_btn);
bottomNavigationView = findViewById(R.id.navigation)
drawer = findViewById<DrawerLayout>(R.id.drawer_layout)
navigationView = findViewById(R.id.nav_view)
toggle?.setToolbarNavigationClickListener {
if (drawer!!.isDrawerOpen(GravityCompat.START)) {
drawer!!.closeDrawer(GravityCompat.START)
} else {
drawer!!.openDrawer(GravityCompat.START)
}
}
navigationView?.setNavigationItemSelectedListener(this)
loginSession =
Session(
this
)
val isloggedin = loginSession!!.isLoggedIn
addProductTv?.setOnClickListener()
{
}
createJobTv?.setOnClickListener()
{
val fragmentTransaction1 = supportFragmentManager.beginTransaction()
fragmentTransaction1.replace(R.id.container, JobPostFragment())
.addToBackStack(null)
fragmentTransaction1.commit()
closeBottomSheet()
}
createPostTv?.setOnClickListener()
{
}
closeBtn?.setOnClickListener()
{
closeBottomSheet()
}
val fragmentTransaction1 = supportFragmentManager.beginTransaction()
fragmentTransaction1.replace(R.id.container, FeedsViewFragment())
.addToBackStack(null)
fragmentTransaction1.commit()
viewmodel = ViewModelProviders.of(this, factory).get(LoginViewModel::class.java)
viewmodel?.getLoggedInUser()?.observe(this, Observer { it ->
setData(it)
})
if (isloggedin && loginSession!!.loginDetails.get(Constants.USERTYPE).equals(Constants.COMPANY)) {
populateMenuForCompanies()
} else if (isloggedin && loginSession!!.loginDetails.get(Constants.USERTYPE).equals(
Constants.INDIVIDUAL
)
) {
populateMenuForIndividual()
}
В моем фрагменте
переопределить веселье onViewCreated(view: View, savedInstanceState: Bundle?) {
(activity as AppCompatActivity).supportActionBar!!.setDisplayHomeAsUpEnabled(true)
(activity as AppCompatActivity).supportActionBar!!.setDisplayShowHomeEnabled(true)
super.onViewCreated(view, savedInstanceState)
}
Пожалуйста, дайте мне знать, как вернуться к предыдущему фрагменту, щелкнув стрелку назад вместо открытия панели навигации.
Любая помощь приветствуется