So führen Sie eine Aktion aus, nachdem Sie auf die positive Schaltfläche von DialogFragment geklickt haben
Ich habe das folgende DialogFragment aus der Android-Dokumentation erstellt:
public class PayBillDialogFragment erweitert DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
final Bundle b = this.getArguments();
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Paga bollettino")
.setPositiveButton("Paga", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// FIRE ZE MISSILES!
}
})
.setNegativeButton("Cancella", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
Aus einem anderen Fragment (einem ListFragment) sollte beim Klicken auf eine Zeile der Liste das DialogFragment geöffnet werden. Nach dem Drücken der positiven Schaltfläche des DialogFragment möchte ich die ausgewählte Zeile des ListFragment entfernen und auch eine Methode aufrufen können Führen Sie eine entfernte Aktion aus, die dem Entfernen zugeordnet ist. Ich habe das ListFragment folgendermaßen implementiert:
public static class ListFragment extends android.support.v4.app.ListFragment {
ArrayList<String> listItems=new ArrayList<String>();
ArrayAdapter<String> adapter;
public static final String ARG_SECTION_NUMBER = "section_number";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.list_fragment_view,
container, false);
ListView lv = (ListView)rootView.findViewById(android.R.id.list);
}});
adapter=new ArrayAdapter<String>(this.getActivity(),
android.R.layout.simple_list_item_1,
listItems);
setListAdapter(adapter);
return rootView;
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
//opening the dialogfragment
}
}
}
Was ich nicht weiß, ist, wie ich mit der Aktion nach dem Klicken auf die positive Schaltfläche des DialogFragments umgehen soll. Kannst du mir helfen?
BEARBEITEN: zur Verdeutlichung ist dies der Arbeitsablauf: Klicken Sie auf die Liste -> zeigen Sie das DialogFragment an -> nachdem Sie auf DialogFragment geklickt haben, entfernen Sie das Element aus der Liste.