Android:如何在循环中放置一个对话框

时间:2016-10-25 21:35:11

标签: android android-layout android-activity dialog android-dialog

我正在尝试制作活动屏幕,其中协议将显示在对话框中。 每次用户按“取消”或“不同意”时,如何使对话框重复。 同意继续活动。 ?

1 个答案:

答案 0 :(得分:3)

我同意提供“取消”或“否”选项,同时不提供其他选项但接受,您可以使用View的方法callOnClick实现它。

这将允许您在每次用户单击“否”或“取消”时触发对话框。但是,这只能假设你从Button中触发原始Dialog,因为你没有提供任何代码来查看(你的活动,它的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();
        }
    });
}