我正在制作一个电子商务应用程序,它的购物车列表有一个自定义的 ListView
,它由 EditText
组成。 EditText
表示项目的数量。我正在使用 OnFocusChangeListener
来检测客户何时完成更改项目数量然后更新服务器上的购物车。一切正常,只是 onFocusChange
被调用了两次,即我得到了两次 false
。
viewHolder.etProductQuantity.setOnFocusChangeListener( new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if(!hasFocus){
// Updating the ProductList class's object to set the new quantity
// Updating product quantity on server
Log.d("Product Quantity", viewHolder.etProductQuantity.getText().toString() + b);
}
}
});
因此,编码被执行了两次,这造成了问题。
最佳答案
在 list 中的 Activity 中添加以下行解决了问题:
android:windowSoftInputMode="adjustPan"
不知道为什么。
关于android - 由 EditText 组成的自定义 ListAdapter 失去焦点调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27100534/