Android警报对话框的顺序很奇怪
当用户单击 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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它将像堆栈一样工作,您创建的第一个对话框将位于您创建的第二个对话框的下方,在您的情况下,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.