Ich versuche, Daten von einer Aktivität zu einem Fragment zu senden. Ich sende keine Daten von einem Fragment an eine Aktivität. Ich habe alles richtig eingerichtet, außer das Interface-Listener-Objekt in der Aktivität instanziieren.Senden von Daten von Aktivität zu Fragment mit Schnittstellen-Listener
public class Activity extends AppCompatActivity {
private FragmentInterface fragmentInterfaceListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// This line below is actually in a button onClick()
fragmentInterfaceListener.sendDataMethod(dataToSend);
}
public interface FragmentInterface {
void sendDataMethod(SampleData sampleData);
}
}
Dann im Fragmente, ich habe:
public static class CustomFragment extends Fragment implements Activity.FragmentInterface {
@Override
public void sendDataMethod(final SampleData sampleData) {
}
}
Als ich in der Schaltfläche onClick()
, wird die Protokollzeile ein Protokoll setzen, wenn die Schaltfläche geklickt wird. Nein, ich werde die Beispieldaten nicht in ein Fragmentpaket einfügen. Ja, ich muss die Daten über eine Schnittstelle senden. Wie instanziiere ich das fragmentInterfaceListener-Objekt in der Aktivität? Fehle ich noch etwas in der Aktivität oder CustomFragment?
Sie haben eindeutig zu fragen. Seien Sie nicht faul, Ihren Code zu setzen – zihadrizkyef
Anstelle von "FragmentInterface" -Schnittstelle in Ihrer Aktivität, warum nicht Sie 'CustomFragment' Fragment in Ihrer Aktivität für statt. Und dann können Sie öffentliche Methoden im 'CustomFragment'-Fragment deklarieren, damit Ihre Aktivität diese Methoden problemlos verwenden kann. –