gpt4 book ai didi

android - 我有一个警告对话框并使用 setSingleChoiceItems 设置所选项目,但想从顶部显示列表

转载 作者:搜寻专家 更新时间:2023-11-01 09:43:01 25 4
gpt4 key购买 nike

我有一个警告对话框窗口,并使用下面的代码将列表中的选项设置为默认值。我在 Stackoverflow 中找不到任何合适的解决方案,所以添加了问题

CustomDialog 类将 Dialog 返回到我的 Activity

public class CustomDialog extends DialogFragment {

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
...
AlertDialog.Builder b = new AlertDialog.Builder();
b.setSingleChoiceItems(Language.names, 5, new OnClickListener() {
....
}

AlertDialog dialog = b.create();

return dialog;
}

Activity 中:

    FragmentManager manager = getFragmentManager();
CustomDialog alert = new CustomDialog();

// Creating a bundle object to store the selected item's index
Bundle b = new Bundle();

// Storing the selected item's index in the bundle object : Get current language
// code and set the position
b.putInt("position", 5); // sending the 5

// Setting the bundle object to the dialog fragment object
alert.setArguments(b);

// Creating the dialog fragment object, which will in turn open the alert dialog window
alert.show(manager, "alert_dialog_radio");

现在它显示正确的特定位置,但我遇到的问题是它滚动位置并将该位置保持在顶部。

有没有一种方法可以将列表设置为从位置 0 开始显示,但所选项目是 5。所以想法是传递 5 并显示 5 已选中,但它应该从 0 开始显示。

最佳答案

不是在 setSingleChoiceItems() 调用中传递所选项目的索引,而是传递 -1 以指示未选中任何项目,然后手动选择项目您想要在 AlertDialog 显示之后。

public class CustomDialog extends DialogFragment {

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder b = new AlertDialog.Builder(...);
...

// We can just pass -1 here, since we'll be
// setting the selected item later anyway

b.setSingleChoiceItems(Language.names, -1, new OnClickListener() {
....
}
);

AlertDialog dialog = b.create();
return dialog;
}

@Override
public void onStart() {
super.onStart();

// Grab the position from the arguments,
// and set that item as checked

final int position = getArguments().getInt("position");
final AlertDialog dialog = (AlertDialog) getDialog();
dialog.getListView().setItemChecked(position, true);
}
}

关于android - 我有一个警告对话框并使用 setSingleChoiceItems 设置所选项目,但想从顶部显示列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39091365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com