package com.dayu.general.view
|
|
import android.app.Dialog
|
import android.content.Context
|
import android.os.Bundle
|
import android.view.Gravity
|
import android.view.LayoutInflater
|
import android.view.ViewGroup
|
import com.dayu.general.databinding.DialogSearchBinding
|
|
/**
|
* 搜索对话框
|
* 用于搜索农户编号、农户名称、卡号
|
*/
|
class SearchDialog(context: Context) : Dialog(context) {
|
|
private lateinit var binding: DialogSearchBinding
|
private var onSearchListener: OnSearchListener? = null
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
binding = DialogSearchBinding.inflate(LayoutInflater.from(context))
|
setContentView(binding.root)
|
|
// 设置对话框宽度为屏幕宽度的85%
|
window?.apply {
|
val params = attributes
|
params.width = (context.resources.displayMetrics.widthPixels * 0.85).toInt()
|
params.height = ViewGroup.LayoutParams.WRAP_CONTENT
|
params.gravity = Gravity.CENTER
|
attributes = params
|
setBackgroundDrawableResource(android.R.color.transparent)
|
}
|
|
// 设置点击外部不取消对话框
|
setCanceledOnTouchOutside(false)
|
|
// 设置搜索按钮点击事件
|
binding.btnSearch.setOnClickListener {
|
val farmerId = binding.etFarmerId.text.toString().trim()
|
val farmerName = binding.etFarmerName.text.toString().trim()
|
val cardNumber = binding.etCardNumber.text.toString().trim()
|
|
// 回调搜索事件
|
onSearchListener?.onSearch(farmerId, farmerName, cardNumber)
|
dismiss()
|
}
|
|
// 设置取消按钮点击事件
|
binding.tvCancel.setOnClickListener {
|
dismiss()
|
}
|
}
|
|
override fun show() {
|
super.show()
|
// 清空输入框
|
binding.etFarmerId.setText("")
|
binding.etFarmerName.setText("")
|
binding.etCardNumber.setText("")
|
}
|
|
/**
|
* 设置搜索监听器
|
*/
|
fun setOnSearchListener(listener: OnSearchListener) {
|
this.onSearchListener = listener
|
}
|
|
/**
|
* 搜索监听器接口
|
*/
|
interface OnSearchListener {
|
/**
|
* 搜索回调方法
|
* @param farmerId 农户编号
|
* @param farmerName 农户名称
|
* @param cardNumber 卡号
|
*/
|
fun onSearch(farmerId: String, farmerName: String, cardNumber: String)
|
}
|
}
|