ho creato il seguente DialogFragment derivandolo dalla documentazione Android:Come eseguire l'azione dopo il pulsante DialogFragment positivo cliccato
public class PayBillDialogFragment estende 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();
}
}
Da un altro frammento (un ListFragment), quando si fa clic su una riga dell'elenco per aprire DialogFragment e dopo aver premuto il pulsante positivo di DialogFragment, desidero poter rimuovere la riga selezionata di ListFragment e anche chiamare un metodo per eseguire un'azione remota associata alla rimozione. ho implementato il ListFragment come segue:
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
}
}
}
Quello che non so è come gestire l'azione dopo il click del tasto positiva del DialogFragment. Mi potete aiutare?
MODIFICA: per chiarire, questo è il flusso di lavoro: fare clic sulla lista -> mostra il DialogFragment -> dopo aver cliccato su DialogFragment rimuovere l'elemento dall'elenco.
Non capisco. Come dovrei essere in grado di rimuovere elementi dal arraylist/arrayadapter dal metodo onClick? – Raffo