zoukankan      html  css  js  c++  java
  • Android之Bean属性通知类

    调用:

    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.TextView;
    import com.example.propertytest.bean.MainBean;
    
    // 调用的时候必须实现PropertyChangeListener接口
    public class MainActivity extends Activity implements PropertyChangeListener{ private TextView text; MainBean mBean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); text = (TextView) findViewById(R.id.textview);
        // 创建Bean的实例且添加属性监听器 mBean
    = new MainBean(); mBean.addPropertyChangeListener(this); } public void btn(View v){ // 触发属性改动的方法 mBean.setName("yoyo"); }
      // 这个方法被通知属性改变 @Override
    public void propertyChange(PropertyChangeEvent event) { System.out.println(event.getNewValue().toString()); System.out.println(event.getOldValue().toString()); } @Override protected void onDestroy() { // TODO Auto-generated method stub mBean.removePropertyChangeListener(this); super.onDestroy(); } }

    Bean类:

    import java.beans.PropertyChangeListener;
    import java.beans.PropertyChangeSupport;
    
    public class MainBean {
        
        private String name = "123";
        
        public String getName() {
            return name;
        }
        
        public void setName(String name_) {
            String oldValue = name;  
            name = name_;  
         // 向外通知属性改变方法,会自动调用propertyChange方法 changeSupport.firePropertyChange(
    "name", oldValue, name); }
      // 创建一个PropertyChangeSupport实例
    private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
      // 添加属性监听器
    public void addPropertyChangeListener(PropertyChangeListener l) { changeSupport.addPropertyChangeListener(l); }
       // 移除属性监听器
    public void removePropertyChangeListener(PropertyChangeListener l) { changeSupport.removePropertyChangeListener(l); } }
  • 相关阅读:
    Java学习之路-Hessian学习
    Hessian知识学习总结(二)——Hessian的helloworld
    如何封装RESTful Web Service
    c#string为传值模式
    Acrobat 无法在本页面上执行OCR识别
    redis error It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. SocketFailure on PING
    关于bootstrap的modal弹出层嵌套子Modal所引发的血案(转)
    项目学习——后台事件监听并触发相应操作
    Redis学习笔记
    正则表达式
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/3183077.html
Copyright © 2011-2022 走看看