安卓警报对话框的顺序很奇怪



当用户单击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();
}

问题是弹出区域搜索框,当您选择一个项目时,会出现mbti搜索框。

但是我的代码

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

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

正如您所看到的,searchmbti((和->gt>searchregion((

为什么会发生这种情况?

它将像堆栈一样工作——您创建的第一个对话框将位于您创建的第二个对话框下方。在您的情况下,mbti对话框首先出现,在此之上显示区域对话框,选择后,区域对话框将被取消,mbti仍在。

最新更新