Доступ к активности в статическом режиме - PullRequest
0 голосов
/ 15 апреля 2011

У меня есть действие, в котором есть статический метод обновления textfield.Таким образом, я могу обновить это представление из другого действия.

Но сейчас я пытаюсь получить переменную Context в этом статическом методе, что невозможно.Я попытался объявить переменную Context и инициализировать ее в onCreate ( context = getApplicationContext();)

Но все же я не могу получить доступ к контексту в этом статическом методе.Как это обычно делается?

edit: немного больше информации о моей ситуации.Я запускаю countdowntimer в упражнении (а), которое обновляет текст другого поля (b) `` textfield каждую секунду .И делает это, получая статический доступ к setTextField b.

Ответы [ 6 ]

3 голосов
/ 15 апреля 2011

Как это обычно делается?

Доступ к TextView статическим методом - не лучший способ обновить поле из другого действия. Если вы хотите передать значение действию при его запуске, вы можете отправить данные через намерение (т.е. intent.getExtras). Если вы хотите передать данные из подоперации, вы можете использовать startActivityForResult.

1 голос
/ 15 апреля 2011

То, как вы идете, очень странно. Почему вы пытаетесь заменить один контент активности другим? Может быть, вам нужно использовать startActivityForResult для создания нового действия, а затем вернуть результат из него и изменить представления в зависимости от него?

0 голосов
/ 15 апреля 2011

Всякий раз, когда вы заняты Деятельностью A, нет смысла что-то обновлять в Деятельности B, поскольку это просто не отображается пользователю в этот момент времени.

Мне кажется, вам нужно иметь какую-то глобальную переменную, которую можно найти в onResume Действия B.

Оформить этот вопрос: Как объявить глобальные переменные вAndroid?

В нем показано, как использовать класс Application для поддержания глобального состояния приложения, доступного из всех действий при необходимости.

0 голосов
/ 15 апреля 2011

Можете ли вы сделать что-то подобное?

как то так <viewobj>.getContext()

Ссылка: Как я могу начать занятие с класса, не являющегося занятием?

0 голосов
/ 15 апреля 2011

Я бы предложил шаблон LocalBinder для обновления других действий: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/LocalService.html

0 голосов
/ 15 апреля 2011

Возможно, вы захотите проверить некоторую документацию на OO и использовать статические функции. Это не считается очень хорошим подходом.

Но поскольку мы не говорим о лучшем полном решении: вы можете добавить параметр с контекстом в функцию и просто указать его при вызове функции:)

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