先说结论
ObservableField 一般用于 dataBinding 交互式绑定。
ObservableField.set() 从时效性来说并不等同于 TextView.setText()。
解决办法,如果需要实时处理观察结果 ,通过
Choreographer.getInstance().postFrameCallback() 处理。
举个简单例子
public class TestViewModel extends ViewModel {
public ObservableField<String> text = new ObservableField<>();
public void setText(String s) {
text.set(s);
}
}
public class TestActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View view = getLayoutInflater().inflate(R.layout.activity_test, null); setContentView(view); DataBindingUtil.bind(view); ActivityTestBinding binding = DataBindingUtil.getBinding(view); TestViewModel viewModel = new ViewMode

本文探讨了在Android中使用ObservableField进行数据绑定时遇到的延迟问题,指出ObservableField.set()的方法时效性不等同于TextView.setText()。通过示例代码展示了问题所在,并解释了在RecyclerView与BRVAH框架结合使用时,由于适配器绑定的延迟导致的EmptyView设置无效的问题。解决方案是确保适配器正确绑定到RecyclerView以避免延迟。
最低0.47元/天 解锁文章
701

被折叠的 条评论
为什么被折叠?



