所以我想让用户能够更改EditText的值并更新数据库中的相应值。
到目前为止,我已经研究了各种技术,但它们都有问题。
TextWatchers似乎有效,但由于它们在每个数字/字母按下后触发,这似乎是对数据库的大量浪费调用。
焦点触发器,但我发现的很多帖子都很旧,可能已经过时了,我不知道它们是否适用于所有设备。
此问题的最新/最新修复是什么?如何普遍检测EditText何时失去焦点并可以安全地触发数据库调用?
答案 0 :(得分:0)
试试这个
editext.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean focus) {
if(focus==false)
{
//do database operation
}
}
});
答案 1 :(得分:0)
您可以依赖用户按“完成”:
App
您可以使用TextWatcher方法,但结合计时器将每次更新推送到数据库 - 比如说 - 在最后一次更改发生后2秒。 因此,您只需在第一次更改时启动计时器,并在每次更改后重置它。
我前段时间遇到过这个问题,但不幸的是我无法找出上述问题或使用FocusListener的方法。