- Forum-Beiträge: 215
27.01.2016, 11:00:21 via Website
27.01.2016 11:00:21 via Website
Ich erstelle einen Dialog und möchte dabei von der Main-Activity aus einen Parameter übergeben. Das Erstellen und Anzeigen im Rahmen meiner Main-Activity sieht so aus:
FragmentManager fm = getFragmentManager();
DialogFragment_New dialogFragment = new DialogFragment_New ();
dialogFragment.show(fm, "Sample Fragment");
Laßt Euch nicht durch das "New" im Namen des DialogFragments verwirren! Zufälligerweise ist dieses Fragment (dieser Dialog) fürs Eingeben neuer Datensätze verantwortlich. Ein ähnliches Fragment mit anderer Funktion könnte an derselben Stelle den NamensZusatz "_Delete" oder "_Modifiy" haben.
Im Fragment selbst scheint die Arbeit mit Parametern bereits vorbereitet zu sein. Zwei Beispielparameter werden bereits eingeführt:
public class DialogFragment_New extends DialogFragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private EditText editTextNewInfo;
public DialogFragment_New() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment DialogFragment_New.
*/
// TODO: Rename and change types and number of parameters
public static DialogFragment_New newInstance(String param1, String param2) {
DialogFragment_New fragment = new DialogFragment_New();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
Meine bisherigen Versuche, einen Parameter zu übergeben, sind kläglich gescheitert. ZB hatte ich in der folgenden Zeile im Konstruktor einen String als Testparameter übergeben (in die runde Klammer gesetzt). Aber an dieser Stelle scheint kein Parameter erwünscht zu sein(?).
DialogFragment_New dialogFragment = new DialogFragment_New ();
Wie kann ich also einen Parameter an das DialogFragment übergeben?
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.