Start-Dialog zum Ergebnis-Wert zurückgeben, um als Haupttätigkeit

Habe ich versucht, meinen Kopf um diese für ein paar Stunden jetzt.

Ich habe einen main-Fragment-Klasse, dann aus dem onClick habe ich von einer Bildansicht in dieser Klasse , ich bin gerade dabei ein Dialog-Fragment mit einem einfachen "ja" oder "Abbrechen" option.

Wie würde ich es so machen, dass wenn der Benutzer auf "Ok", wird es dann schicken Ergebnis-code zurück zu meinem main-Fragment sagen, es laufen einige code(In meinem Fall, ich bin Einstellung der Tapete).

Diesen sound einfach, aber kann nicht scheinen, um es herauszufinden. Vielen Dank im Voraus.

Onclick wo ich möchte irgendwie bekommt das Ergebnis zurück an:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    final View v = inflater.inflate(R.layout.image_detail_fragment,
            container, false);

    mImageView = (RecyclingImageView) v.findViewById(R.id.imageView);
    mImageView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {

            MyDialogFragment dialog = new MyDialogFragment();
            dialog.show(getActivity().getFragmentManager(),
                    "MyDialogFragment");

        }

        public void onDialogOKPressed() {

    ((ImageDetailFragment) (DialogFragment.this.getParentFragment()))
                    .onDialogOKPressed();
            dismiss();

        }
    });

    return v;
}

Dialog-Klasse:

class MyDialogFragment extends DialogFragment {
    private Button ButtonOk;
    private Button ButtonCancel;

    public MyDialogFragment() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.prompt, container);
        ButtonOk = (Button) view.findViewById(R.id.button1);
        ButtonCancel = (Button) view.findViewById(R.id.button2);
        getDialog().setTitle("Set Wallpaper?");

        ButtonOk.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //TODO Auto-generated method stub

                                                ((MyDialogFragment)(DialogFragment.this.getActivity())).onDialogOKPressed();
                dismiss();


            }

        });

        ButtonCancel.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //TODO Auto-generated method stub

                MyDialogFragment.this.dismiss();

            }
        });

        return view;

    }
}

InformationsquelleAutor Jack | 2013-10-10

Schreibe einen Kommentar