Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Restart de activity no setOnClickListener

Entendi.


Tenta reiniciar assim:
activity.finish(); 
activity.startActivity(new Intent(activity, activity.getClass())); 

Retirado de:

Outra solução (mas igualmente gambiarra), seria criar uma Activity redirecionadora. Creio que resolva o problema, mas não é elegante.


Em 3 de junho de 2012 21:21, Erick Couto <erickcouto79@gmail.com> escreveu:
eu ví esse tutorial antes, inclusive baixei.
O que ele faz é restartar a activity, porém com a outra forma:

sobrescrevendo o onClick da activity, fazendo um switch para pegar o botão clicado, e chamando um método utilitário (passando a view como parâmetro).
como toda minha app está usando o  OnClickListener não queria sobrescrever o onClick.

A solução dele funciona, mas eu queria evitar de fazer dessa forma (vou deixar como última opção se não conseguir).

Quanto ao fragments, acho que cai no mesmo problema, por ser tema!

Em 3 de junho de 2012 21:05, Gink Labrev <gink.labrev@gmail.com> escreveu:

Talvez ajude. No final o artigo fala disso:

To set the theme dynamically at runtime, call setTheme() in your activity's onCreate() method, before calling setContentView().  To change the theme, you simply need to restart your activity. 

Parece que tem código de exemplo no zip


Em 3 de junho de 2012 21:01, Gink Labrev <gink.labrev@gmail.com> escreveu:
O que encontrei na web é que é uma má prática forçar o reinício de uma Activity.
Tentei fazer isso há dias atrás, mas acabei substituindo por fragments e funcionou bem. Aloquei a lógica de tratamento em onStart() do Fragment, embora mantive as inicializações em onCreateView()..

No seu caso, bastaria só remover e adicionar de novo o fragment, ou um replace.

Mas  como se trata de temas, não sei muito bem como seria nem como aplicá-lo ao fragment. 

Em 3 de junho de 2012 20:27, Erick Couto <erickcouto79@gmail.com> escreveu:

Achei em alguns fóruns a informação de que serei obrigado a restartar minha activity para que o tema seja carregado.
É horrível isso, me parece meio POG.

Em 3 de junho de 2012 20:23, Erick Couto <erickcouto79@gmail.com> escreveu:

Não entendi, tem algum tutorial ou exemplo?
 

Em 3 de junho de 2012 20:20, Gink Labrev <gink.labrev@gmail.com> escreveu:

Fragments não resolve este caso ?

Em 3 de junho de 2012 19:56, Erick Couto <erickcouto79@gmail.com> escreveu:

Pessoal,

Preciso restartar a minha activity (é a activity principal) de dentro de um onclicklistener. Tentei com o startActivity(getIntent()); finish();
E não funcionou. Ele destruiu mas não recriou. Alguma sugestão?


    public void onCreate(Bundle savedInstanceState) {
        Button template = (Button) findViewById(R.id.btntemplate);
        ...
        template.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                  ...
                  //Aqui eu preciso restartar a activity
            }
           ...
        }
    }


Preciso restartar ela pois as mudanças de tema não são automáticas no setTheme(). 
Se alguem souber de uma forma de atualizar o tema na activity sem recarregar ela também seria de grande ajuda.

Obrigado.

--
-----------------------------------------------------------------
Erick Couto
Tavindo - Feriados Brasileiros





--
-----------------------------------------------------------------
Erick Couto
Tavindo - Feriados Brasileiros




--
-----------------------------------------------------------------
Erick Couto
Tavindo - Feriados Brasileiros






--
-----------------------------------------------------------------
Erick Couto
Tavindo - Feriados Brasileiros


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário