java - Android Studio 中的属性 "Listener"

标签 java android properties listener

我在扩展 ScreenView 的主要 Activity 中创建了一个 Viewscreen。我想在我的 Viewscreen 中为两个公共(public) boolean 值创建监听器。

public class Mainactivity extends Activity {
    private ViewScreen view;
    private PropertyChangeEvent event1;
    private PropertyChangeEvent event2;

    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        view= new ViewScreen(this);
        setContentView(view);
        event1= new PropertyChangeEvent(view, "boolean1",false,true);
        event2= new PropertyChangeEvent(view, "boolean2",false,true);
new PropertyChangeListener() {
            @Override
            public void propertyChange(PropertyChangeEvent event) {
            if (view.boolean1) {dothing1();}
            }
    };
}

我希望这些监听器检测到多个变化。例如(b1 是 boolean1):

b1=false-->b1=true,然后我们做事情1。

那么b1=true-->b1=false,我们什么都不做。

然后b1=false-->b1=true,我们再做thing1。

为什么它不起作用?

最佳答案

您可能需要阅读观察者设计模式

关于java - Android Studio 中的属性 "Listener",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32675336/

相关文章:

java - 如何在终端路径中导出带空格的环境变量

android - 获取 Android MSISDN 值

android - 如何使用 OAuth2.0 解决 socialauth-android(by 3pillarlabs)和 Google Accounts/Google+

java - 导入上下文中的 bean 的 PropertyPlaceholderConfigurer 值未得到解析

javascript - JavaScript 对象的动态属性?

java - 如何将拉丁 unicode 字符替换为 [a-z] 字符

java.time.format.DateTimeParseException : Text 'Thursday 30 May 2019 - 02:00 PM' could not be parsed at index 0

java - 是否可以在运行时指定上下文属性占位符

java - Java 中的行缓冲是什么?

android - 从 Stripe Android API 获取卡资金参数