Android: начать новое действие из пункта меню - PullRequest
2 голосов
/ 27 января 2012

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

    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.OpenScreen:  startActivity(new Intent(this, SecondScreenActivity.class));;
                            break;
    }
    return true;

Я также добавил активность в AndroidManifest.xml внутри тега.


Решение

У меня был finish() в конструкторе нового класса.

Ответы [ 3 ]

3 голосов
/ 27 января 2012

Для меня ваш java-код правильный и работает для меня таким образом.

Однако когда я изучал Android, когда я подошел к началу нового занятия, я столкнулся с той же проблемой, что и вы, ничего не былопроисходит без ошибок, просто не работает.

В моем случае я забыл добавить действие в файл AndroidManifest.xml.Возможно, это то же самое для вас.

Ваш файл AndroidManifest должен содержать где-то что-то вроде этого

<activity
    android:name=".SecondScreenActivity" >
</activity>

, который сообщает системе, что SecondScreenActivity завершает работу.http://developer.android.com/guide/topics/manifest/activity-element.html они говорят:

Все действия должны быть представлены элементами в файле манифеста.Все, что не объявлено там, не будет замечено системой и никогда не будет запущено.

Надеюсь, это поможет

1 голос
/ 27 января 2012

Не return true для onOptionsItemSelected.

вызов супер метода, подобного этому.

return super.onOptionsItemSelected(item);

вместо return true;

1 голос
/ 27 января 2012

попробуй вот так

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
    case R.id.OpenScreen:  
            startActivity(new Intent(YourClass.this, SecondScreenActivity.class));
                           break;
}
return true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...