安卓---DataBinding的使用(三)

Quirita ·
更新时间:2024-09-21
· 589 次阅读

DataBinding 的使用(三) 目录

DataBinding 双向绑定

DataBinding 事件绑定

引用 类方法

使用 运算符

双向绑定

在以前的学习过程中,我们一般只是数据的单向流动,比如使用TextView将数据展现出来,基本就是进行“读”操作,但是在某些情况下,比如当我们使用EditText更新信息时,仅仅使用单向的数据流动是不能满足条件的,这时我们就需要使用DataBinding的双向绑定。

双向绑定的使用是十分简单的,我们只需要改变一下布局文件即可,将我们原来单向绑定的固定模式@{}改为@={}。

同样是在活动中进行初始化即可

初始化赋值

public class MainActivity extends AppCompatActivity { private ActivityMainBinding binding; private DataBase dataBase; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(this,R.layout.activity_main); dataBase = new DataBase(new ObservableField(),new ObservableField()); binding.setDatabase(dataBase); binding.setUpdata(new Updata()); } public class Updata{ public void changeUsername(Editable editable) { dataBase.getUsename().set(editable.toString()); } public void changePassword(Editable editable) { dataBase.getPassword().set(editable.toString()); } } }

(2)方法引用

定义接口
* 实现接口 public class MainActivity extends AppCompatActivity implements UserClickListener{ private ActivityMainBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(this,R.layout.activity_main); binding.setListener(this); } @Override public void click(View view) { Toast.makeText(this,"方法引用",Toast.LENGTH_SHORT).show(); } }

在布局中声明:

需要 登录 后方可回复, 如果你还没有账号请 注册新账号