Ich entwickle eine Anwendung, in der die Fragmente dynamisch generiert werden.Abrufen der Werte aus den verschiedenen Fragmenten aus ViewPager
private void setupViewPager(ViewPager viewPager) {
adapter = new ViewPagerAdapter(getSupportFragmentManager());
for (int i = 0; i < sequence_no.size(); i++)
{
adapter.addFragment(FragmentTwo.newInstance(i,(i+1)));
}
viewPager.setAdapter(adapter);
}
Nun angenommen, es wurden drei Fragmente generiert. Die generierten Fragmente haben verschiedene Widgets wie Edittext, Spinner usw. was ich mache, da ich ein Flag habe, das mir mitteilt, welches angezeigt werden soll (Spinner oder Edittext).
Ich habe eine Schaltfläche in Aktivität, auf deren Klick ich die Werte von allen Fragmenten bu bekommen muss, wie ich nur den Wert vom ersten Fragment bekomme.
Ich gebe hier eine falsche Probe, da ich weiß, dass es falsch ist, aber ich behalte es für Referenzzwecke.
Unten ist der Code auf Submit Button klicken, wo Werte eine Array-Liste ist.
if (FragmentTwo.ed_complain != null)
{
values.add(FragmentTwo.ed_complain.getText().toString());
}
if (FragmentTwo.cb_complain != null)
{
values.add(FragmentTwo.cb_complain.getText().toString());
}
if (FragmentTwo.spinner_complain != null && FragmentTwo.spinner_complain.getSelectedItem() != null)
{
values.add(FragmentTwo.spinner_complain.getSelectedItem().toString());
}
Bitte schlagen Sie mir vor, was ich tun muss, um alle Werte aus allen Fragmenten zu holen.
Da ich ein einzelnes Fragment habe, d. H. Fragment2 Ich erstelle nur seine Instanzen. Nun nehme an, dass Instanz 1 einen Spinner hat, ich einen Wert ausgewählt habe und ich zu einer anderen Instanz gewechselt habe, die editierte Texte hat, wo ich Hallo eingegeben habe. Wenn Sie jetzt auf eine Senden-Schaltfläche drücken (in Aktivität definiert), sollten Sie sowohl den Spinner- als auch den Edittext-Wert anzeigen. –
Abrufen des Bündelwerts aus der Aktivität –