Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Como chamar um método de um fragment em uma activity?

 Willian, obrigado pela ajuda, mas eu n]ão conseguir fazer com callbacks. A solução que eu encontrei foi com BroadcastReceiver  usando com LocalBroadcastManager.
Esse post (https://pt.stackoverflow.com/questions/255508/como-chamar-um-m%C3%A9todo-de-um-fragment-em-uma-activity) , me deram um outra solução que eu ainda não usei, mas achei bem interessante, que é usar o 
onActivityResult 

Com o callbacks eu fiz dessa forma

public interface Callbacks {
 
public void chamaMetodo(String message);
}


public class MinhaFragment extends Fragment implements Callbacks{
...

   
@Override
   
public void onClick(View view) {
     
if (view.getId() == R.id.fab) {
       
Intent intent = new Intent(this.getContext(), MinhaActivity.class);
        startActivity
(intent);
     
}
   
}

   
public void showMessage(String message) {
     
Snackbar snackbar = Snackbar.make(this.getView(), message, Snackbar.LENGTH_LONG);
      snackbar
.show();
   
}

   
public void chamaMetodo(String message) {
       showMessage
(String message)
   
}

...

}


public class MinhaActivity extends Activity {

 
private Callbackd callbacks;
...

   
@Override
   
public void onClick(View view) {
     
//chamar o metodo do Callbaks
     callbacks
.chamaMetodo("Teste");
   
}

 
@Override
   
public void onAttachFragment(Fragment fragment) {
       
super.onAttachFragment(fragment);
       
try {
            callbacks
= (Callbacks) fragment;
       
} catch (ClassCastException e) {
           
throw new ClassCastException(fragment.toString() + " must implement OnArticleSelectedListener");
       
}
   
}
...

}


E você sabe me dizer qual seria a melhor opção entre as três? 

--
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