首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Android的多选对话框中保留旋转时的选择?

在Android的多选对话框中保留旋转时的选择,可以通过以下步骤实现:

  1. 在AndroidManifest.xml文件中,为对应的Activity添加android:configChanges="orientation"属性,以告知系统在屏幕旋转时不重新创建Activity。
  2. 在Activity的代码中,重写onConfigurationChanged()方法,以处理屏幕旋转事件。在该方法中,可以保存当前选中的选项,并在屏幕旋转后重新设置选中状态。

下面是一个示例代码:

代码语言:txt
复制
public class MainActivity extends AppCompatActivity {
    private boolean[] checkedItems; // 保存选中状态的数组

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 初始化选中状态数组
        checkedItems = new boolean[3];
        Arrays.fill(checkedItems, false);

        // 显示多选对话框
        showMultiChoiceDialog();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);

        // 屏幕旋转后重新设置选中状态
        showMultiChoiceDialog();
    }

    private void showMultiChoiceDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("多选对话框");
        builder.setMultiChoiceItems(R.array.items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                // 更新选中状态数组
                checkedItems[which] = isChecked;
            }
        });
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // 处理确定按钮点击事件
            }
        });
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // 处理取消按钮点击事件
            }
        });
        builder.show();
    }
}

在上述代码中,onCreate()方法中初始化了选中状态数组checkedItems,并调用showMultiChoiceDialog()方法显示多选对话框。在onConfigurationChanged()方法中,重新调用showMultiChoiceDialog()方法,以保留旋转时的选择。

请注意,以上示例代码仅为演示如何保留旋转时的选择,实际应用中可能需要根据具体需求进行适当修改。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

3分54秒

PS使用教程:如何在Mac版Photoshop中制作烟花效果?

领券