将 item[] 传递给 DialogFragment

Pass item[] to DialogFragment

当 activity 为 运行 时,我正在尝试传递我的对话框片段的 String [] 项,因为此字符串已更新,其值显示 DialogFragment都是更新的,不能一直选一样的。 我已阅读此主题:Whosebug 但我认为这不是我所需要的。 我知道有人帮我吗?

这是我 class DialogSeleccion 扩展 DialogFragment:

public class DialogoSeleccion extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        final String[] items = {"Español", "Inglés", "Francés"};

        AlertDialog.Builder builder = 
                new AlertDialog.Builder(getActivity());

        builder.setTitle("Selección")
        .setMultiChoiceItems(items, null, 
                new DialogInterface.OnMultiChoiceClickListener() {
        public void onClick(DialogInterface dialog, int item, boolean isChecked) {
                Log.i("Dialogos", "Opción elegida: " + items[item]);
            }
        });

        return builder.create();
    }
}

这是主要代码 class:

android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
DialogoSeleccion dialogo = new DialogoSeleccion();
dialogo.show(fragmentManager, "tagSeleccion");

他尝试 String[] 个项目作为一个变量 de la clase DiagoSeleccion 和 luego acceder desde el main de la forma:

public class DialogoSeleccion extends DialogFragment {
    private String[] opciones;
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {   
    ...

String[] opciones = {"1","2"}
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
DialogoSeleccion dialogo = new DialogoSeleccion();
dialogo.items= opciones[];
dialogo.show(fragmentManager, "tagSeleccion");

但是没用。

感谢您的帮助

您可以在提交 DialogoFragment 时添加一个包

Bundle bundle= new Bundle();
bundle.putStringArray(A_KEY,mArray);
DialogoSeleccion dialogo = new DialogoSeleccion();
dialogo.setArguments(bundle);

然后您在对话框中检索包参数

String[] array = bundle.getArguments().getStringArray(A_KEY);