【发布时间】:2015-10-07 17:33:54
【问题描述】:
我试图在活动运行时传递我的对话框片段的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");
He probado a poner String[] items 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");
但它不起作用。
感谢您的帮助
【问题讨论】:
-
使用 setArguments。 Bundle 有你需要的 putStringArray 方法
-
@Blackbelt 谢谢!!!
标签: android android-dialogfragment dialogfragment