gpt4 book ai didi

java - VB Msgbox 到 Java 警报

转载 作者:行者123 更新时间:2023-12-01 15:46:06 24 4
gpt4 key购买 nike

在VB中使用警告框你可以这样写:

Response=Msgbox("Click YES to continue, NO to Abort",vbyesno)
If response=vbyes...do something

在 Java 中,我们必须编写更多代码才能做到这一点。我想编写的是一个可以从任何地方调用并返回响应的实用函数。我写道:

 protected static boolean Response=false;
public boolean CreateAlert(String AlertMessage){
AlertDialog.Builder alertbox = new AlertDialog.Builder(this);

alertbox.setMessage(AlertMessage);
alertbox.setPositiveButton("YES", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Response=true;
}
});
alertbox.setNegativeButton("NO" , new DialogInterface.OnClickListener(){
public void onClick(DialogInterface arg0, int arg1) {
Response=false;
}
});
alertbox.show();
return Response;

但是,我无法将其移动到不同的类,因为 AlertDialogBu​​ilder 需要 this 这可能意味着我需要从另一个类传递上下文变量。消息框是交互表单中几乎必不可少的组件,我只想每次打开消息框时添加一行代码......一定有办法!!

最佳答案

I could not move it to a different class because AlertDialogBuilder needs a this which presumably means I need to pass a context variable from another class.

是的。此外,您的代码不起作用 - Responsenull,因为 show() 不是阻塞调用。

A Message Box is an almost essential component of interactive forms

欢迎您提出您的意见。模态对话框,特别是像您建议的确认对话框,在现代 UI 开发中被认为是不好的形式,特别是在移动设备上。请参阅Why are modal dialog boxes evil? ,例如。

all I want is to add 1 line of code for each time I open a Message Box...there must be a way!!

不,因为这意味着阻塞 show() 调用。 Android 与大多数现代 UI 框架一样,是事件驱动的,对于 Android 和其他一些框架来说,UI 本质上是单线程的。

顺便说一句,您可能希望考虑采用 Java 编程风格(例如,以小写字母开头的方法、变量和数据成员)。

关于java - VB Msgbox 到 Java 警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6972508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com