在android开发中,经常会遇到组件之间状态跟随变化,例如一个EditText和Button,当Edittext有内容时,button可以点击,反之则不可点击;
以下是实现原理:
1. EditText设置监听TextWatcher,监听其中的内容变化
2. 给button设置一套selector,在state_enable为true和false的时候设置其状态
3. 在TextWatcher中发现text有内容就使button为enable状态即可,此时你会发现button状态变化了
同理,这个方法原理可以应用到其他组件之间有相互的场合,比如:edittext显示删除按键,输入用户名,判断用户名是否合法等