gpt4 book ai didi

Java:如何重用监听器

转载 作者:行者123 更新时间:2023-12-02 04:39:21 27 4
gpt4 key购买 nike

我想重用 AlertBuilder,因此将其创建放在自己的方法中。像这样的事情:

private boolean askToDiscardChanges() {

final boolean result = false;

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

switch (which){
case DialogInterface.BUTTON_POSITIVE:
result = true;
break;
case DialogInterface.BUTTON_NEGATIVE:
result = false;
break;
}
}
};

AlertDialog.Builder builder = new AlertDialog.Builder(NewShootingActivity.this);
builder.setMessage(getResources().getString(R.string.msgDiscardChanges)).setPositiveButton(getResources().getString(R.string.lblYes), dialogClickListener)
.setNegativeButton(getResources().getString(R.string.lblNo), dialogClickListener).show();

return result;
}

不幸的是,这不起作用,但我希望它有助于理解我的问题。是否可以返回监听器的结果?怎么办?

谢谢

最佳答案

监听器是一个回调函数。它将在稍后的某个时间点被调用,可能在遥远的 future ,甚至可能永远不会。所以不,它不能返回值,因为我们还不知道要返回什么。如果您想基于被调用的回调运行某些代码,则需要将该代码放入回调中。

关于Java:如何重用监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30358436/

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