Tecnologia do Blogger.
RSS

[androidbrasil-dev] onStop() misteriosamente sendo chamado apos rotação.

Continuando na ardua caminhada rumo a simples conclusão de que fragments são coisa do demônio, gostaria de ajuda mais uma vez com essas crias do satanas.
A principio eu pensei que apos rotacionar, outro fragment estava sendo adicionado na frente do meu, mas debuggei e vi que o que acontece eh que o maldito, apos resgatar o serviço e ficar tudo ok, chama o onStop().

09-09 16:49:36.132: I/fraglifecycle(1432): ChatFragment.onCreateView();
09-09 16:49:36.284: I/fraglifecycle(1432): ChatFragment.onServiceConnected();
09-09 16:49:36.288: I/fraglifecycle(1432): recuperando posição da listview: 2
================================= ROTAÇÃO ==================================
09-09 16:49:56.928: I/fraglifecycle(1432): onSaveInstanceState()
09-09 16:49:56.932: I/fraglifecycle(1432): ChatFragment.onStop();
09-09 16:49:56.936: I/fraglifecycle(1432): Retornando true no isLastVisiblePosition()
09-09 16:49:57.028: I/fraglifecycle(1432): ChatFragment.onCreateView();
09-09 16:49:57.280: I/fraglifecycle(1432): tab selected; mFragment != null, attaching
09-09 16:49:57.280: I/fraglifecycle(1432): Qtde de fragments no fm: 3
09-09 16:49:57.284: I/fraglifecycle(1432): ChatFragment.onServiceConnected();
09-09 16:49:57.284: I/fraglifecycle(1432): recuperando posição da listview: 5
09-09 16:49:57.436: I/fraglifecycle(1432): ChatFragment.onStop();


Antes da rotação:

https://www.dropbox.com/s/upk42kjbvgizoe1/Captura%20de%20tela%202014-09-09%2013.54.07.png?dl=0

Depois da rotação:

https://www.dropbox.com/s/mse9z29zk6ou2nr/Captura%20de%20tela%202014-09-09%2013.52.55.png?dl=0

Fragment:

@Override
   
public View onCreateView(LayoutInflater inflater, ViewGroup container,
           
Bundle savedInstanceState) {

        activity
= (MainActivity) getActivity();

       
// Em algumas versões do Android, este metódo ocasionará o chamado do
       
// metodo onOptionsMenuCreate() imediatamente
        setHasOptionsMenu
(true);

       
View view = inflater.inflate(R.layout.chat_layout, container, false);

        edittext
= (MyEditText) view.findViewById(R.id.chatinput);
        edittext
.setOnEditorActionListener(this);

        listview
= (ListView) view.findViewById(R.id.chatlist);

        bt_send
= (ImageView) view.findViewById(R.id.sendbutton);
        bt_send
.setOnClickListener(this);

        registerForContextMenu
(listview);

       
// Request service connection

       
Intent it = new Intent(activity, MyService.class);

        activity
.bindService(it, this, 0);

       
return view;
   
}

@Override
   
public void onStop() {

        activity
.unbindService(this);

       
super.onStop();
   
}

@Override
   
public void onServiceConnected(ComponentName name, IBinder binderservice) {
             
LocalBinder binder = (LocalBinder) binderservice;
       
this.service = binder.getService();

       
if (this.isChannel()) {
            conversa
= service.getCanalAdapter();
       
} else {
           
String stringuuid = getArguments().getString(EXTRA_ARGUMENT);
            conversa
= service.getPVTAdapter(UUID.fromString(stringuuid));
       
}

        listview
.setAdapter(conversa);

   
}

E então, algum padre de bom coração afim de ajudar?
Desde ja, muito obrigado, eu preciso muito de ajuda.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

0 comentários:

Postar um comentário