Android - пункты меню, которые функционируют как вкладки - PullRequest
0 голосов
/ 02 февраля 2011

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
        Intent myIntent;
        switch(item.getItemId()) {
        case R.id.home:
            myIntent = new Intent(this, HomeActivity.class);
            startActivityForResult(myIntent, 0);
            return true;
        case R.id.map:
            myIntent = new Intent(this, GoogleMapsActivity.class);
            startActivityForResult(myIntent, 0);
            return true;
        case R.id.art:
            myIntent = new Intent(this, ArtActivity.class);
            startActivityForResult(myIntent, 0);
            return true;
        ...
        default:
            return super.onOptionsItemSelected(item);
        }
    }

Это работает хорошо, но выбор пункта меню запускает новый экземпляр этого действия.Как можно использовать pause () и resume () в сочетании с setResult (), чтобы иметь только один или меньше экземпляров каждого действия в данный момент времени?

Чтобы быть более конкретным, когда пользователь приходитвернемся к ранее посещенному мероприятию, оно должно быть в том же состоянии, в котором они его оставили (например, вкладки).

Ответы [ 2 ]

0 голосов
/ 02 февраля 2011

Используйте .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| Intent.FLAG_ACTIVITY_SINGLE_TOP) для своих намерений и просто начните "Активность" с помощью startActivity

0 голосов
/ 02 февраля 2011

Этого можно добиться, настроив launchMode для действий, выполняемых в качестве единой задачи. Однако, как указывают документы, это может привести к неожиданному поведению пользователя. Когда пользователь наносит ответный удар, он ожидает возврата к предыдущему экрану, на котором он находился. Если вы используете этот режим, убедитесь, что вы тщательно протестировали обратную функциональность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...