gpt4 book ai didi

android - 创建 boolean 监听器

转载 作者:行者123 更新时间:2023-11-29 14:13:32 24 4
gpt4 key购买 nike

In Android, how do I take an action whenever a variable changes?

所以我想为我创建的对象实现一个监听器。我想让它做的是在它的值从 false 变为 true 时执行一段代码。

因为我正在关注此线程,所以我不明白这个人希望我们在哪里实现包含监听器逻辑的最后一段代码。

希望有人能指导我正确的方向吗?

(这个问题被问到这里是因为我没有足够的代表点数)

最佳答案

最后一点示例代码会触发监听器,因此基本上需要在“事件”发生时运行它。在这种情况下,“事件”是每当(代码中的任何地方)变量值发生变化时。

如果您有一个 setter 并且这是值更改的唯一位置,那就是您放置它的地方。如果您在整个代码中的多个位置更改值,我会创建一个新的私有(private)方法(称为 signalChanged),将您的代码放在那里,然后在案例中的变量赋值后立即调用它你想让听众开火。

这是一个例子(一些代码是从链接的答案中借用的,没有检查它是否编译)。

public class MyObj
{
public MyObj(int value)
{
setValue(value);
}

private int myValue;
public int getValue() { return myValue; }
public void setValue( int value )
{
if (value != myValue)
{
myValue = value;
signalChanged();
}
}

public interface VariableChangeListener
{
public void onVariableChanged(Object... variableThatHasChanged);
}

private VariableChangeListener variableChangeListener;
public void setVariableChangeListener(VariableChangeListener variableChangeListener)
{
this.variableChangeListener = variableChangeListener;
}

private void signalChanged()
{
if (variableChangeListener != null)
variableChangeListener.onVariableChanged(myValue);
}
}

关于android - 创建 boolean 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38193288/

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