当用户单击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仍在。