I have a fragment, which displays an alert dialog. The alert dialog contains a few buttons with OnClickListeners attached to them.
When clicked, I need to pass some integers into the OnClickListener. I tried the following:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(getActivity().getString(R.string.aufgabe_loeschen));
builder.setItems(new CharSequence[]
{getActivity().getString(R.string.nur_diese_wiederholung_löschen),
getActivity().getString(R.string.alle_wiederholungen_löschen)},
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getActivity(), "selectedAufgabeId: " + String.valueOf(HomeFragment.this.selectedAufgabeId), Toast.LENGTH_SHORT).show();
Toast.makeText(getActivity(), "selectedAufgabeInstanzId: " + String.valueOf(HomeFragment.this.selectedAufgabeInstanzId), Toast.LENGTH_SHORT).show();
// The 'which' argument contains the index position
// of the selected item
switch (which) {
case 0:
// nur_diese_wiederholung_löschen
String aufgabeInstanzWhere = AufgabeInstanzContract.Columns._ID + " = ?";
String[] aufgabeInstanzSelectionArgs = {String.valueOf(HomeFragment.this.selectedAufgabeInstanzId)};
int rows = HomeFragment.this.getActivity().getApplicationContext().getContentResolver().delete(AufgabeInstanzContract.CONTENT_URI, aufgabeInstanzWhere, aufgabeInstanzSelectionArgs);
loadAufgabenData();
break;
case 1:
// alle_wiederholungen_löschen
String aufgabeInstanzWhere2 = AufgabeInstanzContract.Columns.AUFGABE_ID + " = ?";
String[] aufgabeInstanzSelectionArgs2 = {String.valueOf(HomeFragment.this.selectedAufgabeId)};
int rows2 = HomeFragment.this.getActivity().getApplicationContext().getContentResolver().delete(AufgabeInstanzContract.CONTENT_URI, aufgabeInstanzWhere2, aufgabeInstanzSelectionArgs2);
loadAufgabenData();
Toast.makeText(getActivity(), "clicked 2", Toast.LENGTH_SHORT).show();
break;
}
}
});
builder.create().show();
selectedAufgabeId and selectedAufgabeInstanzId are public int properties, which change their values with the user interaction. However, both properties remain their initial values (values at the start of the fragment). How can I access their current values?