Включить программно кнопку «Назад» в AppCompatActivity

#android #android-activity

Вопрос:

Я время от времени сталкивался с этой проблемой, как заставить действие показывать кнопку «Назад» и вернуть его к родительскому действию без особых сложностей.

У Google есть обширная документация, но она предназначена для тех, кому нужен простой рабочий подход. Поэтому я задаю этот вопрос и отвечаю на него сам, скорее как на документацию для других.

Ответ №1:

  1. Включите кнопку «Назад» с помощью
 supportActionBar?.setDisplayHomeAsUpEnabled(true) 
 
  1. Переопределите onSupportNavigateUp , чтобы он действительно вернулся
 override fun onSupportNavigateUp(): Boolean 
{
    onBackPressed()
    return super.onSupportNavigateUp()
}
 

Вот полный код

 class SomeChildActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_new_invoice)

        supportActionBar?.setDisplayHomeAsUpEnabled(true)
    }

    override fun onSupportNavigateUp(): Boolean {
        onBackPressed()
        return super.onSupportNavigateUp()
    }
}