I am writing a Android App using Fragments, and in one of my fragment i am using two pickers (Date & Time).
I googled and found the solution to show Dialogs in Fragment by using tap on button, and i am doing same, showing dialogs whenever user do click on respective button(s).
but i am not getting how to set dialog values to their respective TextView(s).
see my below code, i am using to show dialogs by using tap on buttons,
DatePickerDialogFragment.java:
public class DatePickerDialogFragment extends DialogFragment {  
    private DatePickerDialog.OnDateSetListener mDateSetListener;  
    public DatePickerDialogFragment() {  
    }  
    DatePickerDialogFragment(OnDateSetListener dateSetListener) {  
        mDateSetListener = dateSetListener;  
    }  
    @Override  
    public Dialog onCreateDialog(Bundle savedInstanceState) {  
        // Use the current date as the default date in the picker  
        final Calendar c = Calendar.getInstance();  
        int year = c.get(Calendar.YEAR);  
        int month = c.get(Calendar.MONTH);  
        int day = c.get(Calendar.DAY_OF_MONTH);  
        // Create a new instance of DatePickerDialog and return it  
        DatePickerDialog dpd = new DatePickerDialog(getActivity(), mDateSetListener, year, month,  
                day);   
        // should not accept past dates
        return dpd;  
    }  
}  
TimePickerFragment.java:
public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener
{
    private TimePickedListener mListener;
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState)
    {
        // use the current time as the default values for the picker
        final Calendar c = Calendar.getInstance();
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);
        // create a new instance of TimePickerDialog and return it
        return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity()));
    }
    @Override
    public void onAttach(Activity activity)
    {
        // when the fragment is initially shown (i.e. attached to the activity), cast the activity to the callback interface type
        super.onAttach(activity);
        try
        {
            mListener = (TimePickedListener) activity;
        }
        catch (ClassCastException e)
        {
            throw new ClassCastException(activity.toString() + " must implement " + TimePickedListener.class.getName());
        }
    }
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute)
    {
        // when the time is selected, send it to the activity via its callback interface method
        Calendar c = Calendar.getInstance();
        c.set(Calendar.HOUR_OF_DAY, hourOfDay);
        c.set(Calendar.MINUTE, minute);
        mListener.onTimePicked(c);
    }
    public static interface TimePickedListener
    {
        public void onTimePicked(Calendar time);
    }
}
Fragment1.java:
  public class Fragment1 extends SherlockFragment {
        Button buttonDate;  
        Button buttonTime; 
        Button buttonSubmit;
        TextView textDate;  
        TextView textTime;  
        Spinner spinner;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment1, container, false);
        buttonDate = (Button) rootView.findViewById(R.id.btnDate);
        buttonTime = (Button) rootView.findViewById(R.id.btnTime);   
        buttonSubmit = (Button) rootView.findViewById(R.id.btnSubmit);
        textDate = (TextView) rootView.findViewById(R.id.txtDate);
        textTime = (TextView) rootView.findViewById(R.id.txtTime);  
       /* //  calendar class get the current instance of android phone clock
         Calendar c = Calendar.getInstance();
         // a formatted object for date and time
         SimpleDateFormat sdfTime = new SimpleDateFormat("h:mm a");
         // save date and time in string object.
         String strTime = sdfTime.format(c.getTime());
         textTime.setText(strTime);
         SimpleDateFormat sdfDate = new SimpleDateFormat("dd-MMM-yyyy");
         String strDate = sdfDate.format(c.getTime());
         textDate.setText(strDate);*/
         buttonTime.setOnClickListener(new OnClickListener()
         {
             @Override
             public void onClick(View v)
             {
                 // show the time picker dialog
                 DialogFragment newFragment = new TimePickerFragment();
                 newFragment.show(getActivity().getSupportFragmentManager(), "timePicker");
             }
         });
         buttonDate.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                DialogFragment newFragment = new DatePickerDialogFragment();
                newFragment.show(getActivity().getSupportFragmentManager(), "datePicker");
            }
        });
         spinner = (Spinner) rootView.findViewById(R.id.spinner);
            // Spinner click listener
         spinner.setOnItemSelectedListener((OnItemSelectedListener) getActivity());
            // Spinner Drop down elements
            List<String> categories = new ArrayList<String>();
            categories.add("Automobile");
            categories.add("Business Services");
            categories.add("Computers");
            categories.add("Education");
            categories.add("Personal");
            categories.add("Travel");
            // Creating adapter for spinner
            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String> (getActivity(), android.R.layout.simple_spinner_item, categories);
            // Drop down layout style - list view with radio button
            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            // attaching data adapter to spinner
            spinner.setAdapter(dataAdapter);
            buttonSubmit.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent(Intent.ACTION_SEND);
                    intent.setType("message/rfc822");
                    intent.putExtra(Intent.EXTRA_EMAIL, "mail@emailaddress.com");
                    intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
                    // in place of "Text" i want to show spinner's selected value
                    intent.putExtra(Intent.EXTRA_TEXT, "Text");
                    startActivity(Intent.createChooser(intent, "Send Email"));
                }
            });
        return rootView;
    }
     public void onTimePicked(Calendar time)
        {
            // display the selected time in the TextView
            textTime.setText(DateFormat.format("h:mm a", time));
        }
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {  
            Calendar c = Calendar.getInstance();  
            c.set(year, monthOfYear, dayOfMonth);  
            setDate(c.getTime().getTime());  
        }  
        private void setDate(long millisecond){  
            int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR  
                    | DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_ABBREV_MONTH  
                    | DateUtils.FORMAT_ABBREV_WEEKDAY;  
            String dateString = DateUtils.formatDateTime(getActivity(),millisecond, flags);  
            textDate.setText(dateString);  
        }  
}
MainActivity.java:
public class MainActivity extends SherlockFragmentActivity  implements TimePickedListener, OnItemSelectedListener, OnDateSetListener {
    // Declare Variables
    Fragment1 fragmentTab1;
    ListView list;
    NavListAdapter adapter;
    String[] title;
    String[] subtitle;
    int[] icon;
    Fragment fragment1 = new Fragment1();
    Fragment fragment2 = new Fragment2();
    Fragment fragment3 = new Fragment3();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Generate title
        title = new String[] { "Title Fragment 1", "Title Fragment 2",
                "Title Fragment 3" };
        // Generate subtitle
        subtitle = new String[] { "Subtitle Fragment 1", "Subtitle Fragment 2",
                "Subtitle Fragment 3" };
        // Generate icon 
        icon = new int[] { R.drawable.action_about, R.drawable.action_settings,
                R.drawable.collections_cloud };
        // Pass results to NavListAdapter Class
        adapter = new NavListAdapter(this, title, subtitle, icon);
        // Hide the ActionBar Title
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        // Create the Navigation List in your ActionBar
        getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
        // Listen to navigation list clicks
        ActionBar.OnNavigationListener navlistener = new OnNavigationListener() {
            @Override
            public boolean onNavigationItemSelected(int position, long itemId) {
                FragmentTransaction ft = getSupportFragmentManager()
                        .beginTransaction();
                // Locate Position
                switch (position) {
                case 0:
                    ft.replace(android.R.id.content, fragment1);
                    break;
                case 1:
                    ft.replace(android.R.id.content, fragment2);
                    break;
                case 2:
                    ft.replace(android.R.id.content, fragment3);
                    break;
                }
                ft.commit();
                return true;
            }
        };
        // Set the NavListAdapter into the ActionBar Navigation
        getSupportActionBar().setListNavigationCallbacks(adapter, navlistener);
    }
    @Override
    public void onTimePicked(Calendar time) {
        // TODO Auto-generated method stub
    }
     @Override
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {          
            // On selecting a spinner item
            String item = parent.getItemAtPosition(position).toString();            
            // showing a toast on selecting an item
            Toast.makeText(parent.getContext(), item, Toast.LENGTH_LONG).show();
     }
     public void onNothingSelected(AdapterView<?> arg0) {
     }
     @Override  
     public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {  
     }  
}
for more Clearity, i am posting screen shots, please check and let me know, what i am missing.
Screen 1: showing as default

screen 2: showing time picker dialog

screen 3: showing date picker dialog

 
     
    