Android警报对话框的顺序很奇怪

发布于 2025-01-10 21:06:55 字数 1555 浏览 3 评论 0原文

当用户单击 fab 时,会相继弹出两个对话框来保存该值。

这是一个 MainActivity 类。

fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            new Fragment_searchmbti().show(getSupportFragmentManager(),"fragmentDialog");
            //Toast.makeText(getApplicationContext(),mainsearch_mbti,Toast.LENGTH_SHORT).show();
            new Fragment_searchregion().show(getSupportFragmentManager(),"fragmentDialog");

        }

    });

这里有一个 Fragment_searchregion 类

@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
    String [] search_region = getActivity().getResources().getStringArray(R.array.region);

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

    builder.setTitle("지역 검색");
    builder.setItems(search_region, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            ((MainActivity)getActivity()).mainsearch_region=search_region[which];
            String sregion = ((MainActivity) getActivity()).mainsearch_region;
            Log.d("아시발",sregion);
        }
    });

    return builder.create();
}

问题是弹出region搜索框,选择一项时出现mbti搜索框。

但我的代码

new Fragment_searchmbti().show(getSupportFragmentManager(),"fragmentDialog");
            
new Fragment_searchregion().show(getSupportFragmentManager(),"fragmentDialog");

如您所见,searchmbti() 和 ->>> ?

为什么会发生这种情况

When users click fab then Two dialogs pop up one after the other to save the value.

Here is a MainActivity class.

fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            new Fragment_searchmbti().show(getSupportFragmentManager(),"fragmentDialog");
            //Toast.makeText(getApplicationContext(),mainsearch_mbti,Toast.LENGTH_SHORT).show();
            new Fragment_searchregion().show(getSupportFragmentManager(),"fragmentDialog");

        }

    });

Here is a Fragment_searchregion class

@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
    String [] search_region = getActivity().getResources().getStringArray(R.array.region);

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

    builder.setTitle("지역 검색");
    builder.setItems(search_region, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            ((MainActivity)getActivity()).mainsearch_region=search_region[which];
            String sregion = ((MainActivity) getActivity()).mainsearch_region;
            Log.d("아시발",sregion);
        }
    });

    return builder.create();
}

The problem is that the region search box pops up, and when you select an item, the mbti search box appears.

But my code

new Fragment_searchmbti().show(getSupportFragmentManager(),"fragmentDialog");
            
new Fragment_searchregion().show(getSupportFragmentManager(),"fragmentDialog");

As you can see, searchmbti() and ->>> searchregion()

Why did this happen?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初懵 2025-01-17 21:06:55

它将像堆栈一样工作,您创建的第一个对话框将位于您创建的第二个对话框的下方,在您的情况下,mbti 对话框首先出现,区域对话框出现在其顶部,并且在选定时,区域对话框将被关闭,并且 mbti 仍然是那里。

It will work like a stack the first dialog you created will be below the 2nd one you created in your case the mbti dialog appears first and on top of that the region dialog appears, and on selected the region dialog is dismissed and the mbti is still there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文