有很多方法,没详细去尝试,而我的方法是在每个item添加一个hideKeyboard,hideKeyboard是自定义方法,此方法写在activity中
代码语言:java复制public void hideKeyboard(View view) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
适配器引用的xml的根节点写入android:onClick="hideKeyboard"(如果想要触发onclick最好不要在根节点添加外间距,可以包多一层写内间距)
代码语言:html复制<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@ id/layout_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
android:orientation="vertical"
android:paddingVertical="@dimen/dp_16"
android:layout_marginBottom="@dimen/dp_6"
android:onClick="hideKeyboard">
<EditText
android:id="@ id/edit_count"
android:layout_width="@dimen/dp_84"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
android:background="@drawable/round_edit_text_gray_bg"
android:inputType="number"
android:text="0"
android:textAlignment="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp_10"
android:text="现库存:"
android:textSize="@dimen/font_small" />
<TextView
android:id="@ id/current_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="10"
android:textSize="@dimen/font_small" />
</LinearLayout>
<font color=red>注意:内部其他控件添加android:clickable="true",父级点击事件会失效</font>