Я занимаюсь обучением в андроиде, а в части «Добавление кнопок действий» openSearch() и openSettings() не определены. Поэтому я сделал их частными пустотами в одном классе. В коммутаторе, однако, openSearch(); по-видимому, недостижима. Когда я удалю этот случай, метод в следующем случае недоступен. Вот мой код.Android tutorial switch 1-й случайный метод недоступен
return super.onOptionsItemSelected(item);
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_search:
openSearch();
return true;
case R.id.action_settings:
openSettings();
return true;
default:
return super.onOptionsItemSelected(item);
}
private void openSettings() {
Toast.makeText(this, "Search button pressed", Toast.LENGTH_SHORT).show();
}
private void openSearch() {
Toast.makeText(this, "Search button pressed", Toast.LENGTH_SHORT).show();
}
'возвращает значение;' заканчивается метод поток управления, так что код после него (в вашем случае ' switch') не будет вызываться (недоступен) – Pshemo
Это одно из преимуществ Android Studio, которое вы кричите о недостижимом коде. – rekire
Как и в стороне: вы должны привыкнуть использовать идентификаторы ресурсов как значения case в инструкции 'switch'. Он не будет работать в библиотечных проектах, где значения идентификатора ресурса не являются «final». См. [Здесь] (http://tools.android.com/tips/non-constant-fields) для получения дополнительной информации об этом. –