Android: 如何将对话框置于循环中
Android: How Can I put a Dialog box in a loop
我正在尝试制作 activity 屏幕,在该屏幕中将在对话框中显示协议。
每次用户按 "cancel" 或 "Disagree" 时,如何使对话框重复自身。
并继续 activity 表示同意。 ?
我同意向 "cancel" 或 "no" 提供选项,同时只提供接受,您可以使用视图的方法 callOnClick 实现它。
这将允许您在每次用户单击“否”或“取消”时触发对话框。但是,这仅适用于假设您从 Button 触发原始对话框,因为您没有提供任何代码来查看(您的 activity,它的 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();
}
});
}
我正在尝试制作 activity 屏幕,在该屏幕中将在对话框中显示协议。 每次用户按 "cancel" 或 "Disagree" 时,如何使对话框重复自身。 并继续 activity 表示同意。 ?
我同意向 "cancel" 或 "no" 提供选项,同时只提供接受,您可以使用视图的方法 callOnClick 实现它。
这将允许您在每次用户单击“否”或“取消”时触发对话框。但是,这仅适用于假设您从 Button 触发原始对话框,因为您没有提供任何代码来查看(您的 activity,它的 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();
}
});
}