public boolean onOptionsItemSelected(MenuItem item) {
header = (TextView) findViewById(R.id.header);
switch(item.getItemId()){
case R.id.settings:
header.setText("Вы вошли в настройки");
Toast.makeText(this,"Settings",Toast.LENGTH_SHORT).show();
return true;
case R.id.open:
header.setText("Вы открыли ресурс");
Toast.makeText(this,"Open",Toast.LENGTH_SHORT).show();
return true;
case R.id.save:
header.setText("Вы сохранили изменения");
Toast.makeText(this, "Save", Toast.LENGTH_SHORT).show();
return true;
}
return super.onOptionsItemSelected(item);
}
Оператор switch
реализован таким образом, что после совпадения первого case
, выполняются все остальные case
, пока не встретится оператор передачи управления. Обычно это break
- выход из оператора case
. Но встречается и return
- выход из всего метода.
Если в данном коде заменить return
на break
, то выполнится еще и родительский onOptionsItemSelected
, а это не требуется, т.к. условие уже отработано
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть TextView и при нажатии клавиши Enter курсор переходит на новую строку но в начало линии добавляется номер строки с точкой и пробеломИ все хорошо,...
Знаю, что в gradlebuild нужно внести запись, но у меня в проекте нет такого файла, т
Вывод на консоль в данном случае получается FileNotFoundExceptionКак именно осуществляется выбор нужного метода для вызова?
А ещё есть специальное ключевое слово final, и если оно присутствует в объявлении переменной, вам будет разрешено присвоить значение этой переменной...