Vejo no Android Fragments Dev Guide que uma "atividade pode chamar métodos em um fragmento adquirindo uma referência ao Fragment do FragmentManager, usando findFragmentById()
or findFragmentByTag()
".
O exemplo a seguir mostra como obter uma referência de fragmento, mas não como chamar métodos específicos no fragmento.
Alguém pode dar um exemplo de como fazer isso? Eu gostaria de chamar um método específico em um fragmento da atividade pai. Obrigado.
Se você estiver usando "import android.app.Fragment;" Então use:
1)
Onde R.id.example_fragment é provavelmente o ID FrameLayout dentro do seu layout xml. OU
2)
Onde FragTagName é o nome que você especificou quando fez:
Se você estiver usando "import android.support.v4.app.Fragment;" Então use:
1)
OU
2)
fonte
Se você estiver usando uma biblioteca de suporte, faça algo assim:
fonte
((FragmentName) getFragmentManager().findFragmentById(R.id.fragment_id)).methodName();
2. Se você estiver usando um fragmento da biblioteca de suporte, faça o seguinte:
((FragmentName) getSupportFragmentManager().findFragmentById(R.id.fragment_id)).methodName();
fonte
Eu acho que o melhor é verificar se o fragmento é adicionado antes de chamar o método no fragmento. Faça algo assim para evitar exceção nula.
fonte
Do fragmento à atividade:
Da atividade ao fragmento:
FragmentManager fm = getSupportFragmentManager ();
Se você adicionou fragmento via código e usou uma sequência de tags ao adicionar seu fragmento, use findFragmentByTag :
fonte
Primeiro você cria um método
fragment
como vocêno seu
activity
você adiciona issoadicionar
onCreate()
métodopor fim, chame o método para o qual você deseja ligar, adicione este
tente este código
fonte
fonte
Eu não sei
Java
, mas noC#
(Xamarin.Android) não há necessidade de procurar o fragmento toda vez que você precisar chamar o método, veja abaixo:Eu acho que
Java
você pode fazer o mesmo.fonte
você também chama o método fragment usando interface como
primeiro você cria interface
depois de criar a interface, você implementa a interface no seu fragmento
e você cria a referência da interface em sua atividade
fonte
fonte