Ok, I have a DialogFragment working almost perfectly, except for one thing: I can't get the boolean array copying to work properly.

This is what I want it to do:
1. User enters dialog for the first time.
2. User selects two toppings(i.e. bacon and tomato)
3. User clicks OK button.
4. User's selections are stored in a boolean array called 'choice'.
5. User re-enters the dialog, and adds a selection (i.e. lettuce)
6. User clicks Cancel.
7. Selection "lettuce" is not stored.
8. User enters a third time, selections from steps 1-3 are the only ones checked

// Project:		Lab6_Lefelhocz
// Date:		2/18/2013
// Author:		Joshua Lefelhocz
// Description:	Demonstrates how to use AlertBuilder to create a simple dialog
package com.example.java2dialogfragmentex;
import java.util.ArrayList;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.Toast;
public class ToppingsDialogFragment extends DialogFragment 
	private ArrayList<Object> mSelectedItems = new ArrayList<Object>();	// hint: use static for Lab6
	private String msg = "";			// message to be displayed in Toast
	private String[] arr;				// array of toppings
	static boolean[] choice = new boolean[3];
	static boolean[] save = new boolean[3];
	// hint: for lab 6 maybe use a static boolean array
	@Override public Dialog onCreateDialog(Bundle savedInstanceState) 
		// create the Dialog builder object    
		AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());     
		// Set the dialog title     
		// get the resource object and then copy the toppings resource array to a String array
		Resources res = this.getResources(); 
		arr = res.getStringArray(R.array.toppings);
		// Specify the list array, the items to be selected by default (null for none),     
		// and the listener through which to receive callbacks when items are selected            
		builder.setMultiChoiceItems(R.array.toppings, save, new DialogInterface.OnMultiChoiceClickListener(){
			public void onClick(DialogInterface dialog, int which,
					boolean isChecked) {
				if (isChecked){
				else if (mSelectedItems.contains(which)){
		// Set the positive action button            
		builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() 
			public void onClick(DialogInterface dialog, int id) 
				// User clicked OK, so save the mSelectedItems results somewhere                    
				// or return them to the component that opened the dialog
				// build a string from the selected items and display them in a Toast
				for(Object item : mSelectedItems)
					msg += arr[Integer.parseInt(item.toString())] + " ";
				Toast.makeText(getActivity(), "Selected: " + msg, Toast.LENGTH_LONG).show();
		// negative action button
		builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() 
			public void onClick(DialogInterface dialog, int id) 
				Toast.makeText(getActivity(), "Cancel Selected", Toast.LENGTH_LONG).show();
		return builder.create(); 
	} // end of onCreate
} // end of class