Valeu Cristian, o problema é o seguinte: quando eu clico no botão para atualizar as informações do banco de dados eu quero que o fragment com a minha lista de componentes também seja atualizado.
Atualmente isso [atualizar a tela] só está acontecendo quando o aplicativo é aberto ou quando coloco o aparelho em modo paisagem (obrigando-o a recriar o fragment). O código da classe é este aqui, e o código que eu destaquei no email anterior é o onClick que adiciona as informações no banco e que eu acredito que será responsável por atualizar o fragment.
E claro né, se alguma coisa não estiver ficado clara eu tento me expressar melhor, valeu a atenção.
Em sexta-feira, 26 de outubro de 2012 20h42min53s UTC-2, Cristian Cardoso escreveu:
Opa!manda mais informações do erro que esta ocorrendo... pois apenas com o trecho de código que disponibilizou não consegui identificar nada...
Abraço
Cristian Cardoso
App CTN Car: http://goo.gl/fPCjE
Em 26 de outubro de 2012 18:37, delki8 <del...@gmail.com> escreveu:
Mas o AsyncTask (vou ler mais a respeito) apenas substitui a minha Thread correto? Talvez como uma melhor prática e tal. Mas agora eu gostaria realmente de apenas atualizar o conteúdo desse bendito fragment, parece algo tão simples mas ta me dando tanto olé xD.Bom, se alguém tiver alguma ideia, eu ficarei muito feliz, vou continuar pesquisando aqui.--Em 26 de outubro de 2012 08:00, luciofm <luc...@gmail.com> escreveu:
Via de regra, qualquer operação de I/O deve ser feita fora da thread
principal, e uma leitura do banco é I/O.
Para isso mesmo existe o CursorLoader:
This class implements the Loader protocol in a standard way for
querying cursors, building on AsyncTaskLoader to perform the cursor
query on a background thread so that it does not block the
application's UI.
Lúcio Maciel
luc...@gmail.com
2012/10/26 Buiu <buiuc...@gmail.com>:
--> Cara te recomendaria a dar uma olhada e utilizar o AsyncTask
>
> é claro utilizando Thread tbm funciona...
>
> Cara, so vc esta apenas fazendo a consulta no banco não é necessário colocar
> dentro de uma Thread... pode fazer isso direto....
> "OnMenuItemClickListener() {"
>
> Deixa apenas a parte do download dentro da Thread ou AsyncTask.
>
> Abraço
> Cristian Cardoso
> App CTN Car: http://goo.gl/fPCjE
> @CTNCar
> @CTNCardoso
> http://ctncardoso.com.br
>
>
>
> Em 25 de outubro de 2012 19:22, delki8 <del...@gmail.com> escreveu:
>
>> Otavio, obrigado pela resposta. Fiz de uma forma que eu acho que é a
>> correta mas ele ainda não passou. A parte destacada é onde eu tento pegar a
>> lista que veio do banco e atualizar ela na listview, fiz alguma besteira?
>>
>> refreshParcial.setOnMenuItemClickListener(new OnMenuItemClickListener() {
>> @Override
>> public boolean onMenuItemClick(MenuItem item) {
>> new Thread(){
>> @Override
>> public void run() {
>> BoletimControl bControl = new BoletimControl();
>> bControl.atualizaBoletins(false, PublicacoesGUI.this);
>> BoletimRepositorio bRep = new BoletimRepositorio(PublicacoesGUI.this);
>> boletins = bRep.listarBoletins();
>> if (boletins != null) {
>> handler.post(new Runnable() {
>> @Override
>> public void run() {
>> adapter.setLista(boletins);
>> adapter.notifyDataSetChanged();
>> }
>> });
>> }
>> }
>> }.start();
>> return true;
>> }
>> });
>>
>> Ouvi dizer que o Handler não estava mais sendo usado mas como no livro
>> onde estudo ele ainda era a única forma de atualizar a activity de uma
>> Thread externa, usei ele aqui também.
>>
>>
>> Em 25 de outubro de 2012 09:08, Otávio Mendes <otavio...@gmail.com>
>> escreveu:
>>>
>>> Depois que fizer o download e atualizar o banco de dados, você atualiza
>>> os dados do Adapter (atualizando o List dele por exemplo) da ListView e
>>> depois chama o método notifyDataSetChanged() do Adapter
>>>
>>> On 24/10/2012, at 21:58, delki8 <del...@gmail.com> wrote:
>>>
>>> Pessoal meu app faz o download de alguns itens, joga isso num banco de
>>> dados e depois faz a leitura desses itens no banco para popular um ListView
>>> dentro de um fragment.
>>>
>>> Na minha action bar eu tenho um botão que faz o download/cadastra no
>>> banco. O meu problema é que eu quero que esse botão também dê um jeito de
>>> atualizar a lista de itens que estão no banco. Atualmente o fragment só
>>> mostra os itens recém cadastrados quando eu giro o celular colocando ele no
>>> modo paisagem, obrigando toda a activity a ser reconstruída.
>>>
>>> Dúvida:
>>> Como eu dou um refresh no fragment depois que os novos dados são
>>> inseridos no banco?
>>> O link para a classe é esse aqui: http://pastebin.com/xDgkM0ay
>>>
>>> Agradeço muito a atenção de vocês. Se alguém tiver alguma sugestão de
>>> solução eu ficaria muito agradecido :)
>>>
>>> --
>>>
>>>
>>>
>>>
>>> --
>>>
>>>
>>
>>
>>
>>
>> --
>> about.me/delki8
>>
>> --
>>
>>
>
>
>
>
>
>
> --
>
>
--








0 comentários:
Postar um comentário