2015-10-31 2 views
0

У меня есть переменная из класса Application. Я хочу изменить значение переменной (которая происходит из класса Application) из другого действия. Прямо сейчас я могу создать экземпляр переменной, а затем изменить значение экземпляра, что наносит ущерб всей цели создания переменной из класса Application (поэтому ее можно использовать во всех действиях в проекте)Изменить значение переменной?

Вот переменная. Это долгий, и представляет собой ряд мероприятий, которые прошли по:

enter image description here

Я пытаюсь изменить значение numberOfActivities от любой деятельности, пытаясь сделать что-то вроде этого:

((activityCount) getApplicationContext()). numberOfActivities ++;

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

Большое вам спасибо, и если вам нужна дополнительная информация, не стесняйтесь, дайте мне знать. Любые отзывы приветствуются.

Спасибо!

+0

http://www.devahead.com/blog/2011/06/extending-the-android-application-class-and-dealing-with-singleton/ – Simon

+0

Почему скриншоты вместо простого вставки кода? (Я очень озадачен, и я бы поставил несколько «?», Если бы это было что-то, что я делаю) – njzk2

+0

Богатый - если кто-то не доберется до вашей проблемы через пару дней, у этого сайта есть функция «щедрости». вы можете пожертвовать какой-то своей репутацией, чтобы создать щедрость по этому вопросу, давая ему гораздо больше активности ':)' – sircapsalot

ответ

0

Я понял! Мне просто нужно было установить его в System.currentTimeMillis() в самом классе myApplication. Как это:

enter image description here

Хотя это большой обходной путь, я хотел бы видеть способ доступа и изменить его в другом самом классе.

1

делая это:

currentTime = ((myCurrentTime) getApplicationContext()).currentTime;

стирание значения локального currentTime по статическому, который инициированному на 0.

попытаться сделать это наоборот:

((myCurrentTime) getApplicationContext()).currentTime = currentTime;

+0

О! Так что сейчас я делаю 0 = 0. Может ли другой способ сделать это: this.currentTime? –

+0

Если я делаю это наоборот, я получаю ошибку с левой стороны: переменная ожидается –

+0

Привет, Rich, вы немного изменили вопрос, удалось ли вам это исправить? Я не разработчик Android, а java. Для android GlobalVariable вы можете найти решение этой проблемы: http://androidexample.com/Global_Variable_Or_Application_Context_Variable_-_Android_Example/index.php?view=article_discription&aid=114&aaid=136 –

Смежные вопросы