由 EditText 组成的自定义 ListAdapter 失去焦点,调用两次

Roh*_*wal 5 android listener android-listview android-edittext

我正在制作一个电子商务应用程序,其购物车列表有一个自定义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);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

因此,编码被执行两次,这就产生了问题。

Aka*_*iya 2

将以下行添加到清单中的活动中修复了问题:

 android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)

但不知道为什么。