Boa noite,
Sou novo no android e no java também, mas estou tentando desenvolver uma aplicação no android e estou com a seguinte duvida:
Tenho uma class onde declaro uma variavel public e statica ( public static int total = 0; ) por exemplo.
Gostaria de saber como faço para manipular essa variavel nas activitys de minha aplicação?
ex: quando um evento acontecer atribuir um numero inteiro a variavel. E depois de alguns eventos, apresentar o estado da variavel em um TextView.
As soluções que tentei fazer sempre me da “false” quando dou o TextView para ver o resultado.
Aqui deveria estar o valor atualizado da variavel statica “total”, mas sempre fica “false”
Espero que nao tenha ficado confuso o codigo.
R
Ramon_Pires
Olha se a sua activity Time for destruida ,automaticamente você perde os valores que estão armazenados dentro da sua variavel estatica, Então é melhor vc definir esssa variavel dentro de outra classe estatica que não seja uma activity.
D
denilson100
Tem razao. Pode ser por causa do ciclo de vida da activity. Vou fazer uma classe sem estender da acticity.
Agora a duvida fica em como passar parametros entre as activitys.
Acho que tem haver com o putExtra ou Bundle. Mas ainda nao entendi bem o funcionamento dessa manipulaçao.
R
Ramon_Pires
você vai criar uma nova intent e vai passar o valor que vc quer pra ela:
E na outra activity:
Bundle extras = getIntent().getExtras();
int total = extras.getInt("total");
D
denilson100
Vamos ver se entendi:
Na minha class Timer que nao estendi mas de Acrivity eu crio uma intent que chamamos de total.
intent.putExtra("total", total);
E nas minhas activitys vao acontecendo os eventos e vao adicionando +1 na minha variavel.
//acontece o evento dentro da activity1Bundleextras=getIntent().getExtras();inttotal=extras.getInt("+1");
Depois em outra activity acontece outro evento:
//acontece o evento dentro da activity2Bundleextras=getIntent().getExtras();inttotal=extras.getInt("+1");
Nesse caso, a minha variavel total se apresentada teria o numero 2?
R
Ramon_Pires
Usando intent não precisa criar uma outra classe para armazenar o valor do total, em cada activty que vc for somar valor ao total vc vai criar uma nova intent, onde vc vai obter o valor da intent anterior e vai somar ao atual e vai passar para nova intent que vc criar.
D
denilson100
Acho que estou começando a entender.
Mas so vou poder mecher no meu codigo a noite.
Essa mesma logica serve para apresentar um mesmo tempo decrescente em todas as acrivitys?
Tenho uma classe q conta 30 segundos descrecente, mas nao é visivel ao usuario. Se eu quiser fazer o usuario veja esse tempo decrescer eu tenho que criar uma variavel e chamar essa variavel atraves da intent em todas as activitys?