我正在尝试在活动运行时传递我的Dialog Fragment的String []
项,因为此String已更新,其显示DialogFragment
的值已更新,并且无法始终选择相同。
我已经阅读了这个主题:stackoverflow但我认为这不是我需要的。
我知道有人帮助我吗?
这是延伸DialogFragment的mi类DialogoSeleccion:
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();
}
}
这是主类的代码:
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
DialogoSeleccion dialogo = new DialogoSeleccion();
dialogo.show(fragmentManager, "tagSeleccion");
他是一个poner String[]
项目como una variable de la clase DialogoSeleccion y 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");
但它不起作用。
感谢您的帮助
答案 0 :(得分:2)
您可以在提交DialogoFragment
时添加一个包Bundle bundle= new Bundle();
bundle.putStringArray(A_KEY,mArray);
DialogoSeleccion dialogo = new DialogoSeleccion();
dialogo.setArguments(bundle);
然后在Dialog
中检索包参数String[] array = bundle.getArguments().getStringArray(A_KEY);