Android:如何将对话框放入循环中
Posted
技术标签:
【中文标题】Android:如何将对话框放入循环中【英文标题】:Android: How Can I put a Dialog box in a loop 【发布时间】:2017-03-08 02:27:05 【问题描述】:我正在尝试制作将在对话框中显示协议的活动屏幕。 每次用户按“取消”或“不同意”时,如何使对话框重复出现。 并继续同意活动。 ?
【问题讨论】:
移除不同意按钮并设置可取消为false 当对话框再次出现时提供取消选项是没有意义的。坏主意 很抱歉,但这是有道理的。由于如果用户不同意,则会显示同意,因此应用程序应重新显示同意,或者可能会说“您必须同意”然后重新显示。不过感谢您的建议! 不同意就关闭应用 【参考方案1】:我同意提供“取消”或“否”选项,同时不提供除接受之外的其他选项,您可以使用 View 的方法 callOnClick 来实现它。
这将允许您在每次用户单击“否”或“取消”时触发对话框。但是,这仅适用于您从按钮触发原始对话框的假设,因为您没有提供任何代码来查看(您的活动,它的 xml 布局):
public class MainActivity extends AppCompatActivity
final Context context = this;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.a_main_btn);
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
final View view = v;
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("Dialog Title");
alertDialogBuilder
.setMessage("Click yes to exit dialog")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
MainActivity.this.finish();
)
.setNegativeButton("No", new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
view.callOnClick();
);
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
);
【讨论】:
以上是关于Android:如何将对话框放入循环中的主要内容,如果未能解决你的问题,请参考以下文章
血本急求:将对话框放入 DLL 文件当中,在主程序中作为子窗口非模态显示,做完操作后,释放该 DLL 的方法