浏览代码

修复SelectableInput的PopupWindow显示一直false

Frankensteinly 1 年之前
父节点
当前提交
d9e68d97b4
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      app/src/main/java/com/grkj/iscs/widget/SelectableInput.kt

+ 6 - 1
app/src/main/java/com/grkj/iscs/widget/SelectableInput.kt

@@ -81,6 +81,7 @@ class SelectableInput(private val ctx: Context, attrs: AttributeSet) : LinearLay
             mPopWindow?.width = mBinding.et.width
             mPopWindow?.height = ViewGroup.LayoutParams.WRAP_CONTENT
             mPopWindow?.isOutsideTouchable = true
+            mPopWindow?.isFocusable = true
 
             val popBinding = LayoutSelectableinputSpinnerBinding.bind(mDropdownView!!)
             popBinding.rvOptions.adapter = object : CommonAdapter<String>(ctx, R.layout.item_rv_selectableinput_spinner, mOptionList) {
@@ -95,7 +96,11 @@ class SelectableInput(private val ctx: Context, attrs: AttributeSet) : LinearLay
             }
         }
 
-        mPopWindow?.showAsDropDown(mBinding.et)
+        if (mPopWindow?.isShowing == false) {
+            mPopWindow?.showAsDropDown(mBinding.et)
+        } else {
+            mPopWindow?.dismiss()
+        }
     }
 
     fun setOnSpinnerSelectListener(onSpinnerSelectListener: OnSpinnerSelectListener) {