-1
Wie String[]
von MainActivity
Wie String Array von ActivityMain passieren fragmentieren
example.add(new Fragment1(new String[]{"answer 1", "answer 2", "answer 3"}));
example.add(new Fragment1(new String[]{"answer 4", "answer 5", "answer 6"}));
dieser Fragment
passieren und dynamisch (auf Swipe) funktioniert
public class Fragment1 extends Fragment {
String stringValue;
int imagesResId;
TextView text;
String[] rbData;
public Fragment1() {
}
public Fragment1(String str, int imageView, String[] rb) {
this.stringValue = str;
this.imagesResId = imageView;
this.rbData = rb;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment1, container, false);
text = view.findViewById(R.id.textView);
ImageView imageResId = view.findViewById(image);
text.setText(stringValue);
imageResId.setImageResource(imagesResId);
return view;
}
}
Danke. Ich werde es versuchen. Aber gibt es, anders als 'bundle', andere Möglichkeiten,' StringArray' direkt vom 'Activity'- und' Fragment1'-Konstruktor an die 'onCreateView'-Methode zu übergeben? Wie ich es mit z.B. 'Text' in meinem obigen Beitrag? Die Codezeile von 'MainActivity' ist' example.add (neues Fragment1 ("text1")); ' – MissAndroid
@MissAndroid Verwenden von' Bundle', um Daten von 'Activity' nach' Fragment' oder 'Fragment' nach' Fragment' zu übertragen Das ist wahrscheinlich der Weg. Je nach Anwendungsfall können Sie 'interface' verwenden oder einige Bibliotheken von Drittanbietern wie Event-Bus usw. verwenden, wenn Sie' Bundle' nicht verwenden möchten. –
Ich meine 'bundle' ist in Ordnung, aber ich frage mich, ob ich" text "aus dieser Zeile" example.add "(neues Fragment1 (" text1 "))" 'in' MainActivity' nach 'Fragment1' mit Konstruktor mit Argumenten übergeben kann Vielleicht gibt es eine Möglichkeit, das Gleiche mit 'String [] answer1..etc' zu tun. – MissAndroid