Проверьте, видна ли кнопка "Назад" на панели действий или на кнопке меню.

Как проверить, является ли левая кнопка на панели действий кнопкой меню или кнопкой возврата? Для включения кнопки возврата мы используем следующее:

actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true); 

Я хочу знать, какая кнопка включена в определенное время. Я попытался с помощью счетчика стека, но это не сработало для меня.

Значок меню

Вернуться значок

Спасибо

3 ответа

Вы имеете в виду это?

установить идентификатор:

public boolean onCreateOptionsMenu(Menu menu) { 
        super.onCreateOptionsMenu(menu); 
        menu.add((int groupId, int itemId, int order, charsequence title) .setIcon(drawable ID)
        return true; 
    }

получить ID:

public boolean onOptionsItemSelected(MenuItem item) { 
    super.onOptionsItemSelected(item); 
    switch(item.getItemId()) 
    { 
    case  Menu.First+1  : 
        break; 
    case  Menu.First+2 : 
        break; 
    } 
    return true; 
}

ок, у меня есть решение, вот версия Kotlin

        val toolbar = findViewById<Toolbar>(R.id.toolbar)
  val backButtonVisible = toolbar.navigationIcon != null 

Если вы используете навигационный ящик, то вы можете сделать это, зная состояние навигационного ящика, открытого или закрытого.

Предполагая, что вы определили раскладку ящика в XML:

DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 

if(mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
  //drawer is open
}

если ваш ящик открыт, это означает, что у вас есть значок возврата, в противном случае у вас есть значок панели на панели действий

Другие вопросы по тегам