Ich möchte eine (Registerkarten-) Fragmentmethode aufrufen, um die Daten zur Aktivität zu bringen.Aufruf der Fragment-Methode aus der übergeordneten Aktivität
- las ich this
- Aber ich habe null Objektreferenz
- Ich versuchte this
- Aber meine Tätigkeit bereits das Fragment Klasse Umsetzung so ist es nicht ein juristischer Ausdruck
So
, wenn die Registerkarte geändert ich die Form der ersten Registerkarte Details Aktivität senden möchten durch getDetails()
Methode
@Override
public void onTabUnselected(TabLayout.Tab tab) {
if (tab.getText().equals("Owner")) {
//invoking method here
Log.i(TAG, tab.getText().toString() + " unselected");
}
ich mit FragmentManager versucht, aber ohne Glück, bitte helfen!
Bearbeiten- Dies ist die Methode, die ich
public Bundle getData() {
Bundle bundle = new Bundle();
bundle.putString("area", area);
bundle.putString("villageTown", villageTown.getSelectedItem().toString());
bundle.putString("ownerName", ownerName);
bundle.putString("fatherHusbandName", fatherHusbandName);
bundle.putString("category", category.getSelectedItem().toString());
bundle.putString("address", address);
bundle.putString("mobileNumber", mobileNumber);
bundle.putString("telephoneNumber", telephoneNumber);
return bundle;
}
Haben Sie versucht, Zuhörer? Wie ein Interface erstellen, implementieren Sie es in Ihrer Fragment-Klasse und rufen Sie seine Methode von Activity auf? –
Der schmutzige Weg: '((YourActivity) getActivity()).someMethodInActivity() ' – azizbekian
@AnandSingh das ist, was in der zweiten Verbindung gegeben ist, implementiert meine Aktivität bereits eine Methode des Fragments, so dass ich nicht zurück zu der Aktivität im Fragment implementieren kann. –