gpt4 book ai didi

java - 如何为变量 android 创建自定义监听器?

转载 作者:太空狗 更新时间:2023-10-29 15:46:02 33 4
gpt4 key购买 nike

我正在尝试为一个不断变化的变量创建一个自定义监听器,并希望在每次注册更改时跟踪它并更新我的显示 (TextView)。我引用了 In Android, how do I take an action whenever a variable changes?但是,这只运行一次。我希望它持续跟踪变化并在状态变化时更新显示。

最佳答案

我可以想出很多方法来做到这一点,但我认为最简单的方法就是为您不想“监听”的变量创建一个包装器,实现一个 getter 和一个 setter,当然还有监听器接口(interface)。让我们假设你想“听”一个 int 变量:

public interface OnIntegerChangeListener
{
public void onIntegerChanged(int newValue);
}

public class ObservableInteger
{
private OnIntegerChangeListener listener;

private int value;

public void setOnIntegerChangeListener(OnIntegerChangeListener listener)
{
this.listener = listener;
}

public int get()
{
return value;
}

public void set(int value)
{
this.value = value;

if(listener != null)
{
listener.onIntegerChanged(value)
}
}
}

然后你就可以使用它了:

ObservableInteger obsInt = new ObservableInteger();

obsInt.setOnIntegerChangeListener(new OnIntegerChangeListener()
{
@Override
public void onIntegerChanged(int newValue)
{
//Do something here
}
});

每次更改值(使用 Set(...) )时,如果不为空,将调用监听器-

关于java - 如何为变量 android 创建自定义监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26745085/

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