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

标签 android android-listview android-edittext listener

我正在制作一个电子商务应用程序,它的购物车列表有一个自定义的 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/

相关文章:

c# - Xamarin 是否支持 NetTcpBinding WCF?

android - VK SDK android "sdk_fingerprint is incorrect"错误

android - Youtube API在视频上发表评论

android - 在动态 ListView 中的第一个 EditText 上设置 RequestFocus

滚动后 Android ListView 项目动画

android - 为多个屏幕android创建我的 View

java - StringBuilder 和 ArrayAdapter 错误

android - TextWatcher - s 和 et.getText().toString() 之间的区别

android - 在 editText 中设置一些空间

java - 水平 EditText 一次滚动一个字符