diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index bdc4fc4..e0db0e9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -184,6 +184,8 @@ + diff --git a/app/src/main/java/com/xjjk/healthyclients/adapter/UserListAdapter.kt b/app/src/main/java/com/xjjk/healthyclients/adapter/UserListAdapter.kt new file mode 100644 index 0000000..0cc5ae2 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/adapter/UserListAdapter.kt @@ -0,0 +1,41 @@ +package com.xjjk.healthyclients.adapter + +import com.chad.library.adapter.base.viewholder.BaseDataBindingHolder +import com.xjjk.healthyclients.R +import com.xjjk.healthyclients.adapter.common.BaseDataBindingAdapter +import com.xjjk.healthyclients.bean.UserListBean +import com.xjjk.healthyclients.databinding.ItemUserListBinding +import com.xjjk.healthyclients.superfuntion.loadRoundedImage + +/** + * @author nanfeifei + * @time 2023/7/17 16:40 + * @description + */ +class UserListAdapter : BaseDataBindingAdapter( + R.layout.item_user_list +) { + + override fun convert( + holder: BaseDataBindingHolder, + item: UserListBean.RecordsDTO + ) { + val mBinding = holder.dataBinding + mBinding?.let { + it.tvAccount.text = item.username + it.tvName.text = item.realname + it.userNum.text = "员工编号:" + item.workNo + " 手机号:" + item.phone + it.userIdCard.text = "身份证号:" + item.idCard + if (!item.departTree.isNullOrEmpty()) { + if (item.departTree.size > 2) { + it.tvUnit.text = item.departTree.get(1) + it.tvClass.text = item.departTree.get(2) + } else if (item.departTree.size > 1) { + it.tvUnit.text = item.departTree.get(0) + it.tvClass.text = item.departTree.get(1) + } + } + it.ivHead.loadRoundedImage(item.avatar, 5.0f) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/bean/UserListBean.java b/app/src/main/java/com/xjjk/healthyclients/bean/UserListBean.java new file mode 100644 index 0000000..ce2ee1f --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/bean/UserListBean.java @@ -0,0 +1,1568 @@ +package com.xjjk.healthyclients.bean; + +import java.util.ArrayList; +import java.util.List; + +public class UserListBean { + + private List records=new ArrayList<>(); + private Integer total; + private Integer size; + private Integer current; + private Integer pages; + + public List getRecords() { + return records; + } + + public void setRecords(List records) { + this.records = records; + } + + public Integer getTotal() { + return total; + } + + public void setTotal(Integer total) { + this.total = total; + } + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } + + public Integer getCurrent() { + return current; + } + + public void setCurrent(Integer current) { + this.current = current; + } + + public Integer getPages() { + return pages; + } + + public void setPages(Integer pages) { + this.pages = pages; + } + + public static class RecordsDTO { + private String id; + private String username; + private String realname; + private String avatar; + private String birthday; + private Integer age; + private String sex; + private String sex_dictText; + private Object email; + private String phone; + private String orgCode; + private Object orgCodeThree; + private Integer loginTenantId; + private String status; + private String status_dictText; + private Integer delFlag; + private String workNo; + private Object post; + private Object telephone; + private Object createBy; + private String createTime; + private Object updateBy; + private String updateTime; + private Object activitiSync; + private Object userIdentity; + private Object departIds; + private Object departCodes; + private String relTenantIds; + private Object clientId; + private Object homePath; + private Object postText; + private Object bpmStatus; + private String idCard; + private Object postageCode; + private String userGroup; + private String userGroupUpdateTime; + private String personType; + private String personType_dictText; + private List departTree; + private SecondDepartDTO secondDepart; + private ThreeDepartDTO threeDepart; + private DepartDTO depart; + private Object postId; + private Object roleCodes; + private Integer familyNum; + private Object client; + private String orgCodeTxt; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getRealname() { + return realname; + } + + public void setRealname(String realname) { + this.realname = realname; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public String getBirthday() { + return birthday; + } + + public void setBirthday(String birthday) { + this.birthday = birthday; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getSex_dictText() { + return sex_dictText; + } + + public void setSex_dictText(String sex_dictText) { + this.sex_dictText = sex_dictText; + } + + public Object getEmail() { + return email; + } + + public void setEmail(Object email) { + this.email = email; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getOrgCode() { + return orgCode; + } + + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + public Object getOrgCodeThree() { + return orgCodeThree; + } + + public void setOrgCodeThree(Object orgCodeThree) { + this.orgCodeThree = orgCodeThree; + } + + public Integer getLoginTenantId() { + return loginTenantId; + } + + public void setLoginTenantId(Integer loginTenantId) { + this.loginTenantId = loginTenantId; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatus_dictText() { + return status_dictText; + } + + public void setStatus_dictText(String status_dictText) { + this.status_dictText = status_dictText; + } + + public Integer getDelFlag() { + return delFlag; + } + + public void setDelFlag(Integer delFlag) { + this.delFlag = delFlag; + } + + public String getWorkNo() { + return workNo; + } + + public void setWorkNo(String workNo) { + this.workNo = workNo; + } + + public Object getPost() { + return post; + } + + public void setPost(Object post) { + this.post = post; + } + + public Object getTelephone() { + return telephone; + } + + public void setTelephone(Object telephone) { + this.telephone = telephone; + } + + public Object getCreateBy() { + return createBy; + } + + public void setCreateBy(Object createBy) { + this.createBy = createBy; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public Object getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(Object updateBy) { + this.updateBy = updateBy; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public Object getActivitiSync() { + return activitiSync; + } + + public void setActivitiSync(Object activitiSync) { + this.activitiSync = activitiSync; + } + + public Object getUserIdentity() { + return userIdentity; + } + + public void setUserIdentity(Object userIdentity) { + this.userIdentity = userIdentity; + } + + public Object getDepartIds() { + return departIds; + } + + public void setDepartIds(Object departIds) { + this.departIds = departIds; + } + + public Object getDepartCodes() { + return departCodes; + } + + public void setDepartCodes(Object departCodes) { + this.departCodes = departCodes; + } + + public String getRelTenantIds() { + return relTenantIds; + } + + public void setRelTenantIds(String relTenantIds) { + this.relTenantIds = relTenantIds; + } + + public Object getClientId() { + return clientId; + } + + public void setClientId(Object clientId) { + this.clientId = clientId; + } + + public Object getHomePath() { + return homePath; + } + + public void setHomePath(Object homePath) { + this.homePath = homePath; + } + + public Object getPostText() { + return postText; + } + + public void setPostText(Object postText) { + this.postText = postText; + } + + public Object getBpmStatus() { + return bpmStatus; + } + + public void setBpmStatus(Object bpmStatus) { + this.bpmStatus = bpmStatus; + } + + public String getIdCard() { + return idCard; + } + + public void setIdCard(String idCard) { + this.idCard = idCard; + } + + public Object getPostageCode() { + return postageCode; + } + + public void setPostageCode(Object postageCode) { + this.postageCode = postageCode; + } + + public String getUserGroup() { + return userGroup; + } + + public void setUserGroup(String userGroup) { + this.userGroup = userGroup; + } + + public String getUserGroupUpdateTime() { + return userGroupUpdateTime; + } + + public void setUserGroupUpdateTime(String userGroupUpdateTime) { + this.userGroupUpdateTime = userGroupUpdateTime; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getPersonType_dictText() { + return personType_dictText; + } + + public void setPersonType_dictText(String personType_dictText) { + this.personType_dictText = personType_dictText; + } + + public List getDepartTree() { + return departTree; + } + + public void setDepartTree(List departTree) { + this.departTree = departTree; + } + + public SecondDepartDTO getSecondDepart() { + return secondDepart; + } + + public void setSecondDepart(SecondDepartDTO secondDepart) { + this.secondDepart = secondDepart; + } + + public ThreeDepartDTO getThreeDepart() { + return threeDepart; + } + + public void setThreeDepart(ThreeDepartDTO threeDepart) { + this.threeDepart = threeDepart; + } + + public DepartDTO getDepart() { + return depart; + } + + public void setDepart(DepartDTO depart) { + this.depart = depart; + } + + public Object getPostId() { + return postId; + } + + public void setPostId(Object postId) { + this.postId = postId; + } + + public Object getRoleCodes() { + return roleCodes; + } + + public void setRoleCodes(Object roleCodes) { + this.roleCodes = roleCodes; + } + + public Integer getFamilyNum() { + return familyNum; + } + + public void setFamilyNum(Integer familyNum) { + this.familyNum = familyNum; + } + + public Object getClient() { + return client; + } + + public void setClient(Object client) { + this.client = client; + } + + public String getOrgCodeTxt() { + return orgCodeTxt; + } + + public void setOrgCodeTxt(String orgCodeTxt) { + this.orgCodeTxt = orgCodeTxt; + } + + public static class SecondDepartDTO { + private String id; + private String parentId; + private String departName; + private Object departNameEn; + private Object departNameAbbr; + private Integer departOrder; + private Object description; + private String orgCategory; + private String orgType; + private String orgCode; + private String orgClass; + private String orgClass_dictText; + private Object mobile; + private Object fax; + private Object address; + private Object healthManageUserName; + private Object healthManageUserMobile; + private Object healthManageUserAddress; + private Object medialManageUserName; + private Object medialManageUserMobile; + private Object medialManageUserAddress; + private Object monitorManageUserName; + private Object monitorManageUserMobile; + private Object memo; + private String status; + private String status_dictText; + private String delFlag; + private String delFlag_dictText; + private Object qywxIdentifier; + private Object createBy; + private String createTime; + private Object updateBy; + private Object updateTime; + private Object lng; + private Object lat; + private Integer tenantId; + private Integer izLeaf; + private Object manager; + private Object directorUserIds; + private Object oldDirectorUserIds; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getDepartName() { + return departName; + } + + public void setDepartName(String departName) { + this.departName = departName; + } + + public Object getDepartNameEn() { + return departNameEn; + } + + public void setDepartNameEn(Object departNameEn) { + this.departNameEn = departNameEn; + } + + public Object getDepartNameAbbr() { + return departNameAbbr; + } + + public void setDepartNameAbbr(Object departNameAbbr) { + this.departNameAbbr = departNameAbbr; + } + + public Integer getDepartOrder() { + return departOrder; + } + + public void setDepartOrder(Integer departOrder) { + this.departOrder = departOrder; + } + + public Object getDescription() { + return description; + } + + public void setDescription(Object description) { + this.description = description; + } + + public String getOrgCategory() { + return orgCategory; + } + + public void setOrgCategory(String orgCategory) { + this.orgCategory = orgCategory; + } + + public String getOrgType() { + return orgType; + } + + public void setOrgType(String orgType) { + this.orgType = orgType; + } + + public String getOrgCode() { + return orgCode; + } + + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + public String getOrgClass() { + return orgClass; + } + + public void setOrgClass(String orgClass) { + this.orgClass = orgClass; + } + + public String getOrgClass_dictText() { + return orgClass_dictText; + } + + public void setOrgClass_dictText(String orgClass_dictText) { + this.orgClass_dictText = orgClass_dictText; + } + + public Object getMobile() { + return mobile; + } + + public void setMobile(Object mobile) { + this.mobile = mobile; + } + + public Object getFax() { + return fax; + } + + public void setFax(Object fax) { + this.fax = fax; + } + + public Object getAddress() { + return address; + } + + public void setAddress(Object address) { + this.address = address; + } + + public Object getHealthManageUserName() { + return healthManageUserName; + } + + public void setHealthManageUserName(Object healthManageUserName) { + this.healthManageUserName = healthManageUserName; + } + + public Object getHealthManageUserMobile() { + return healthManageUserMobile; + } + + public void setHealthManageUserMobile(Object healthManageUserMobile) { + this.healthManageUserMobile = healthManageUserMobile; + } + + public Object getHealthManageUserAddress() { + return healthManageUserAddress; + } + + public void setHealthManageUserAddress(Object healthManageUserAddress) { + this.healthManageUserAddress = healthManageUserAddress; + } + + public Object getMedialManageUserName() { + return medialManageUserName; + } + + public void setMedialManageUserName(Object medialManageUserName) { + this.medialManageUserName = medialManageUserName; + } + + public Object getMedialManageUserMobile() { + return medialManageUserMobile; + } + + public void setMedialManageUserMobile(Object medialManageUserMobile) { + this.medialManageUserMobile = medialManageUserMobile; + } + + public Object getMedialManageUserAddress() { + return medialManageUserAddress; + } + + public void setMedialManageUserAddress(Object medialManageUserAddress) { + this.medialManageUserAddress = medialManageUserAddress; + } + + public Object getMonitorManageUserName() { + return monitorManageUserName; + } + + public void setMonitorManageUserName(Object monitorManageUserName) { + this.monitorManageUserName = monitorManageUserName; + } + + public Object getMonitorManageUserMobile() { + return monitorManageUserMobile; + } + + public void setMonitorManageUserMobile(Object monitorManageUserMobile) { + this.monitorManageUserMobile = monitorManageUserMobile; + } + + public Object getMemo() { + return memo; + } + + public void setMemo(Object memo) { + this.memo = memo; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatus_dictText() { + return status_dictText; + } + + public void setStatus_dictText(String status_dictText) { + this.status_dictText = status_dictText; + } + + public String getDelFlag() { + return delFlag; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag_dictText() { + return delFlag_dictText; + } + + public void setDelFlag_dictText(String delFlag_dictText) { + this.delFlag_dictText = delFlag_dictText; + } + + public Object getQywxIdentifier() { + return qywxIdentifier; + } + + public void setQywxIdentifier(Object qywxIdentifier) { + this.qywxIdentifier = qywxIdentifier; + } + + public Object getCreateBy() { + return createBy; + } + + public void setCreateBy(Object createBy) { + this.createBy = createBy; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public Object getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(Object updateBy) { + this.updateBy = updateBy; + } + + public Object getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Object updateTime) { + this.updateTime = updateTime; + } + + public Object getLng() { + return lng; + } + + public void setLng(Object lng) { + this.lng = lng; + } + + public Object getLat() { + return lat; + } + + public void setLat(Object lat) { + this.lat = lat; + } + + public Integer getTenantId() { + return tenantId; + } + + public void setTenantId(Integer tenantId) { + this.tenantId = tenantId; + } + + public Integer getIzLeaf() { + return izLeaf; + } + + public void setIzLeaf(Integer izLeaf) { + this.izLeaf = izLeaf; + } + + public Object getManager() { + return manager; + } + + public void setManager(Object manager) { + this.manager = manager; + } + + public Object getDirectorUserIds() { + return directorUserIds; + } + + public void setDirectorUserIds(Object directorUserIds) { + this.directorUserIds = directorUserIds; + } + + public Object getOldDirectorUserIds() { + return oldDirectorUserIds; + } + + public void setOldDirectorUserIds(Object oldDirectorUserIds) { + this.oldDirectorUserIds = oldDirectorUserIds; + } + } + + public static class ThreeDepartDTO { + private String id; + private String parentId; + private String departName; + private Object departNameEn; + private Object departNameAbbr; + private Object departOrder; + private Object description; + private String orgCategory; + private String orgType; + private String orgCode; + private String orgClass; + private String orgClass_dictText; + private Object mobile; + private Object fax; + private Object address; + private Object healthManageUserName; + private Object healthManageUserMobile; + private Object healthManageUserAddress; + private Object medialManageUserName; + private Object medialManageUserMobile; + private Object medialManageUserAddress; + private Object monitorManageUserName; + private Object monitorManageUserMobile; + private Object memo; + private String status; + private String status_dictText; + private String delFlag; + private String delFlag_dictText; + private Object qywxIdentifier; + private Object createBy; + private String createTime; + private Object updateBy; + private Object updateTime; + private Object lng; + private Object lat; + private Integer tenantId; + private Integer izLeaf; + private Object manager; + private Object directorUserIds; + private Object oldDirectorUserIds; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getDepartName() { + return departName; + } + + public void setDepartName(String departName) { + this.departName = departName; + } + + public Object getDepartNameEn() { + return departNameEn; + } + + public void setDepartNameEn(Object departNameEn) { + this.departNameEn = departNameEn; + } + + public Object getDepartNameAbbr() { + return departNameAbbr; + } + + public void setDepartNameAbbr(Object departNameAbbr) { + this.departNameAbbr = departNameAbbr; + } + + public Object getDepartOrder() { + return departOrder; + } + + public void setDepartOrder(Object departOrder) { + this.departOrder = departOrder; + } + + public Object getDescription() { + return description; + } + + public void setDescription(Object description) { + this.description = description; + } + + public String getOrgCategory() { + return orgCategory; + } + + public void setOrgCategory(String orgCategory) { + this.orgCategory = orgCategory; + } + + public String getOrgType() { + return orgType; + } + + public void setOrgType(String orgType) { + this.orgType = orgType; + } + + public String getOrgCode() { + return orgCode; + } + + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + public String getOrgClass() { + return orgClass; + } + + public void setOrgClass(String orgClass) { + this.orgClass = orgClass; + } + + public String getOrgClass_dictText() { + return orgClass_dictText; + } + + public void setOrgClass_dictText(String orgClass_dictText) { + this.orgClass_dictText = orgClass_dictText; + } + + public Object getMobile() { + return mobile; + } + + public void setMobile(Object mobile) { + this.mobile = mobile; + } + + public Object getFax() { + return fax; + } + + public void setFax(Object fax) { + this.fax = fax; + } + + public Object getAddress() { + return address; + } + + public void setAddress(Object address) { + this.address = address; + } + + public Object getHealthManageUserName() { + return healthManageUserName; + } + + public void setHealthManageUserName(Object healthManageUserName) { + this.healthManageUserName = healthManageUserName; + } + + public Object getHealthManageUserMobile() { + return healthManageUserMobile; + } + + public void setHealthManageUserMobile(Object healthManageUserMobile) { + this.healthManageUserMobile = healthManageUserMobile; + } + + public Object getHealthManageUserAddress() { + return healthManageUserAddress; + } + + public void setHealthManageUserAddress(Object healthManageUserAddress) { + this.healthManageUserAddress = healthManageUserAddress; + } + + public Object getMedialManageUserName() { + return medialManageUserName; + } + + public void setMedialManageUserName(Object medialManageUserName) { + this.medialManageUserName = medialManageUserName; + } + + public Object getMedialManageUserMobile() { + return medialManageUserMobile; + } + + public void setMedialManageUserMobile(Object medialManageUserMobile) { + this.medialManageUserMobile = medialManageUserMobile; + } + + public Object getMedialManageUserAddress() { + return medialManageUserAddress; + } + + public void setMedialManageUserAddress(Object medialManageUserAddress) { + this.medialManageUserAddress = medialManageUserAddress; + } + + public Object getMonitorManageUserName() { + return monitorManageUserName; + } + + public void setMonitorManageUserName(Object monitorManageUserName) { + this.monitorManageUserName = monitorManageUserName; + } + + public Object getMonitorManageUserMobile() { + return monitorManageUserMobile; + } + + public void setMonitorManageUserMobile(Object monitorManageUserMobile) { + this.monitorManageUserMobile = monitorManageUserMobile; + } + + public Object getMemo() { + return memo; + } + + public void setMemo(Object memo) { + this.memo = memo; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatus_dictText() { + return status_dictText; + } + + public void setStatus_dictText(String status_dictText) { + this.status_dictText = status_dictText; + } + + public String getDelFlag() { + return delFlag; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag_dictText() { + return delFlag_dictText; + } + + public void setDelFlag_dictText(String delFlag_dictText) { + this.delFlag_dictText = delFlag_dictText; + } + + public Object getQywxIdentifier() { + return qywxIdentifier; + } + + public void setQywxIdentifier(Object qywxIdentifier) { + this.qywxIdentifier = qywxIdentifier; + } + + public Object getCreateBy() { + return createBy; + } + + public void setCreateBy(Object createBy) { + this.createBy = createBy; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public Object getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(Object updateBy) { + this.updateBy = updateBy; + } + + public Object getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Object updateTime) { + this.updateTime = updateTime; + } + + public Object getLng() { + return lng; + } + + public void setLng(Object lng) { + this.lng = lng; + } + + public Object getLat() { + return lat; + } + + public void setLat(Object lat) { + this.lat = lat; + } + + public Integer getTenantId() { + return tenantId; + } + + public void setTenantId(Integer tenantId) { + this.tenantId = tenantId; + } + + public Integer getIzLeaf() { + return izLeaf; + } + + public void setIzLeaf(Integer izLeaf) { + this.izLeaf = izLeaf; + } + + public Object getManager() { + return manager; + } + + public void setManager(Object manager) { + this.manager = manager; + } + + public Object getDirectorUserIds() { + return directorUserIds; + } + + public void setDirectorUserIds(Object directorUserIds) { + this.directorUserIds = directorUserIds; + } + + public Object getOldDirectorUserIds() { + return oldDirectorUserIds; + } + + public void setOldDirectorUserIds(Object oldDirectorUserIds) { + this.oldDirectorUserIds = oldDirectorUserIds; + } + } + + public static class DepartDTO { + private String id; + private String parentId; + private String departName; + private Object departNameEn; + private Object departNameAbbr; + private Object departOrder; + private Object description; + private String orgCategory; + private String orgType; + private String orgCode; + private String orgClass; + private String orgClass_dictText; + private Object mobile; + private Object fax; + private Object address; + private Object healthManageUserName; + private Object healthManageUserMobile; + private Object healthManageUserAddress; + private Object medialManageUserName; + private Object medialManageUserMobile; + private Object medialManageUserAddress; + private Object monitorManageUserName; + private Object monitorManageUserMobile; + private Object memo; + private String status; + private String status_dictText; + private String delFlag; + private String delFlag_dictText; + private Object qywxIdentifier; + private Object createBy; + private String createTime; + private Object updateBy; + private Object updateTime; + private Object lng; + private Object lat; + private Integer tenantId; + private Integer izLeaf; + private Object manager; + private Object directorUserIds; + private Object oldDirectorUserIds; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getDepartName() { + return departName; + } + + public void setDepartName(String departName) { + this.departName = departName; + } + + public Object getDepartNameEn() { + return departNameEn; + } + + public void setDepartNameEn(Object departNameEn) { + this.departNameEn = departNameEn; + } + + public Object getDepartNameAbbr() { + return departNameAbbr; + } + + public void setDepartNameAbbr(Object departNameAbbr) { + this.departNameAbbr = departNameAbbr; + } + + public Object getDepartOrder() { + return departOrder; + } + + public void setDepartOrder(Object departOrder) { + this.departOrder = departOrder; + } + + public Object getDescription() { + return description; + } + + public void setDescription(Object description) { + this.description = description; + } + + public String getOrgCategory() { + return orgCategory; + } + + public void setOrgCategory(String orgCategory) { + this.orgCategory = orgCategory; + } + + public String getOrgType() { + return orgType; + } + + public void setOrgType(String orgType) { + this.orgType = orgType; + } + + public String getOrgCode() { + return orgCode; + } + + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + public String getOrgClass() { + return orgClass; + } + + public void setOrgClass(String orgClass) { + this.orgClass = orgClass; + } + + public String getOrgClass_dictText() { + return orgClass_dictText; + } + + public void setOrgClass_dictText(String orgClass_dictText) { + this.orgClass_dictText = orgClass_dictText; + } + + public Object getMobile() { + return mobile; + } + + public void setMobile(Object mobile) { + this.mobile = mobile; + } + + public Object getFax() { + return fax; + } + + public void setFax(Object fax) { + this.fax = fax; + } + + public Object getAddress() { + return address; + } + + public void setAddress(Object address) { + this.address = address; + } + + public Object getHealthManageUserName() { + return healthManageUserName; + } + + public void setHealthManageUserName(Object healthManageUserName) { + this.healthManageUserName = healthManageUserName; + } + + public Object getHealthManageUserMobile() { + return healthManageUserMobile; + } + + public void setHealthManageUserMobile(Object healthManageUserMobile) { + this.healthManageUserMobile = healthManageUserMobile; + } + + public Object getHealthManageUserAddress() { + return healthManageUserAddress; + } + + public void setHealthManageUserAddress(Object healthManageUserAddress) { + this.healthManageUserAddress = healthManageUserAddress; + } + + public Object getMedialManageUserName() { + return medialManageUserName; + } + + public void setMedialManageUserName(Object medialManageUserName) { + this.medialManageUserName = medialManageUserName; + } + + public Object getMedialManageUserMobile() { + return medialManageUserMobile; + } + + public void setMedialManageUserMobile(Object medialManageUserMobile) { + this.medialManageUserMobile = medialManageUserMobile; + } + + public Object getMedialManageUserAddress() { + return medialManageUserAddress; + } + + public void setMedialManageUserAddress(Object medialManageUserAddress) { + this.medialManageUserAddress = medialManageUserAddress; + } + + public Object getMonitorManageUserName() { + return monitorManageUserName; + } + + public void setMonitorManageUserName(Object monitorManageUserName) { + this.monitorManageUserName = monitorManageUserName; + } + + public Object getMonitorManageUserMobile() { + return monitorManageUserMobile; + } + + public void setMonitorManageUserMobile(Object monitorManageUserMobile) { + this.monitorManageUserMobile = monitorManageUserMobile; + } + + public Object getMemo() { + return memo; + } + + public void setMemo(Object memo) { + this.memo = memo; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatus_dictText() { + return status_dictText; + } + + public void setStatus_dictText(String status_dictText) { + this.status_dictText = status_dictText; + } + + public String getDelFlag() { + return delFlag; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag_dictText() { + return delFlag_dictText; + } + + public void setDelFlag_dictText(String delFlag_dictText) { + this.delFlag_dictText = delFlag_dictText; + } + + public Object getQywxIdentifier() { + return qywxIdentifier; + } + + public void setQywxIdentifier(Object qywxIdentifier) { + this.qywxIdentifier = qywxIdentifier; + } + + public Object getCreateBy() { + return createBy; + } + + public void setCreateBy(Object createBy) { + this.createBy = createBy; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public Object getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(Object updateBy) { + this.updateBy = updateBy; + } + + public Object getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Object updateTime) { + this.updateTime = updateTime; + } + + public Object getLng() { + return lng; + } + + public void setLng(Object lng) { + this.lng = lng; + } + + public Object getLat() { + return lat; + } + + public void setLat(Object lat) { + this.lat = lat; + } + + public Integer getTenantId() { + return tenantId; + } + + public void setTenantId(Integer tenantId) { + this.tenantId = tenantId; + } + + public Integer getIzLeaf() { + return izLeaf; + } + + public void setIzLeaf(Integer izLeaf) { + this.izLeaf = izLeaf; + } + + public Object getManager() { + return manager; + } + + public void setManager(Object manager) { + this.manager = manager; + } + + public Object getDirectorUserIds() { + return directorUserIds; + } + + public void setDirectorUserIds(Object directorUserIds) { + this.directorUserIds = directorUserIds; + } + + public Object getOldDirectorUserIds() { + return oldDirectorUserIds; + } + + public void setOldDirectorUserIds(Object oldDirectorUserIds) { + this.oldDirectorUserIds = oldDirectorUserIds; + } + } + } +} diff --git a/app/src/main/java/com/xjjk/healthyclients/data/api/OtherApi.kt b/app/src/main/java/com/xjjk/healthyclients/data/api/OtherApi.kt new file mode 100644 index 0000000..c228c01 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/data/api/OtherApi.kt @@ -0,0 +1,47 @@ +package com.xjjk.healthyclients.data.api + +import com.xjjk.healthyclients.bean.UserListBean +import com.xjjk.healthyclients.data.bean.ApiResponse +import okhttp3.RequestBody +import retrofit2.http.Body +import retrofit2.http.FieldMap +import retrofit2.http.FormUrlEncoded +import retrofit2.http.GET +import retrofit2.http.POST +import retrofit2.http.QueryMap + +/** + * @author nanfeifei + * @time 2023/5/24 15:08 + * @description 工作台接口定义 + */ +interface OtherApi { + /** + * 获取模拟用户列表 + */ + @GET("/health-system/sys/user/listAll") + suspend fun listAll(@QueryMap params: MutableMap): ApiResponse + /** + * 模拟用户信息 + */ + @FormUrlEncoded + @POST("/health-system/test/fake") + suspend fun fake(@FieldMap params: MutableMap): ApiResponse + /** + * 获取模拟用户信息 + */ + @POST("/health-system/test/fakeUser") + suspend fun fakeUser(@Body requestBody: RequestBody): ApiResponse + /** + * 重置模拟 + */ + @POST("/health-system/test/restore") + suspend fun restore(@Body requestBody: RequestBody): ApiResponse + + /** + * 校验token是否过期 + */ + @GET("/health-consultation/api/consult/msgRecord/selectTokenExpire") + suspend fun selectTokenExpire(@QueryMap params: MutableMap): ApiResponse + +} \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/data/repository/OtherRepository.kt b/app/src/main/java/com/xjjk/healthyclients/data/repository/OtherRepository.kt new file mode 100644 index 0000000..a4f72ef --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/data/repository/OtherRepository.kt @@ -0,0 +1,60 @@ +package com.xjjk.healthyclients.data.repository + +import com.xjjk.healthyclients.base.repository.BaseRepository +import com.xjjk.healthyclients.bean.UserListBean +import com.xjjk.healthyclients.data.api.OtherApi +import com.xjjk.healthyclients.data.bean.ApiResponse +import com.xjjk.healthyclients.retrofit.RetrofitManager +import com.xjjk.healthyclients.retrofit.RetrofitManager.toRequestBody +import com.xjjk.healthyclients.superfuntion.toJson + + +object OtherRepository : BaseRepository() { + private val service by lazy { RetrofitManager.getService(OtherApi::class.java) } + suspend fun getList( + username: String + ): ApiResponse { + val params = mutableMapOf() + params["personType"] = 1 + params["username"] = username + params["pageNo"] = 1 + params["pageSize"] = 100 + return apiCall { + service.listAll(params) + } + } + + suspend fun simulateUser( + userId: String + ): ApiResponse { + val params = mutableMapOf() + params["userId"] = userId + return apiCall { service.fake(params) } + } + + suspend fun fakeUser( + + ): ApiResponse { + val params = mutableMapOf() +// params["X-Access-Token"] = DataStoreManager.getToken() + return apiCall { service.fakeUser(params.toJson().toRequestBody()) } + } + suspend fun restore( + ): ApiResponse { + val params = mutableMapOf() +// params["userId"] = userId + return apiCall { service.restore(params.toJson().toRequestBody()) } + } + + /** + * 校验token有效性 + */ + suspend fun selectTokenExpire(token:String): ApiResponse { + return apiCall { + val map = mutableMapOf() + map.put("token",token) + service.selectTokenExpire(map) + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/fragment/UserInfoFragment.kt b/app/src/main/java/com/xjjk/healthyclients/fragment/UserInfoFragment.kt index 3e65af3..966a7d2 100644 --- a/app/src/main/java/com/xjjk/healthyclients/fragment/UserInfoFragment.kt +++ b/app/src/main/java/com/xjjk/healthyclients/fragment/UserInfoFragment.kt @@ -18,6 +18,7 @@ import com.xjjk.healthyclients.superfuntion.loadCircle import com.xjjk.healthyclients.superfuntion.startConsultantManagerActivity import com.xjjk.healthyclients.superfuntion.startEmergencySeekDoctorActivity import com.xjjk.healthyclients.superfuntion.startLoginActivity +import com.xjjk.healthyclients.superfuntion.startSimulateUserActivity import com.xjjk.healthyclients.superfuntion.startUserInfoSettingActivity import com.xjjk.healthyclients.superfuntion.startUserMyGuidanceActivity import com.xjjk.healthyclients.superfuntion.startUserSettingActivity @@ -72,7 +73,7 @@ class UserInfoFragment : if (mHits[0] >= (SystemClock.uptimeMillis() - time)) { //数组重新初始化 mHits = LongArray(mCount) -// startSimulateUserActivity(requireContext()) + startSimulateUserActivity(requireContext()) } } diff --git a/app/src/main/java/com/xjjk/healthyclients/superfuntion/StartActivityManager.kt b/app/src/main/java/com/xjjk/healthyclients/superfuntion/StartActivityManager.kt index e6705bc..c48a62e 100644 --- a/app/src/main/java/com/xjjk/healthyclients/superfuntion/StartActivityManager.kt +++ b/app/src/main/java/com/xjjk/healthyclients/superfuntion/StartActivityManager.kt @@ -12,6 +12,7 @@ import com.xjjk.healthyclients.ui.activity.EmergencyContactActivity import com.xjjk.healthyclients.ui.activity.FullScreenImageActivity import com.xjjk.healthyclients.ui.activity.LoginActivity import com.xjjk.healthyclients.ui.activity.RetrievePassWordActivity +import com.xjjk.healthyclients.ui.activity.SimulateUserActivity import com.xjjk.healthyclients.ui.activity.UserInfoSettingActivity import com.xjjk.healthyclients.ui.activity.UserSettingActivity import com.xjjk.healthyclients.ui.activity.UserSoSContactsActivity @@ -25,7 +26,6 @@ import com.xjjk.healthyclients.ui.activity.guidance.BaseHealthyInfoAddActivity import com.xjjk.healthyclients.ui.activity.guidance.ConsultArchivesDetailActivity import com.xjjk.healthyclients.ui.activity.guidance.ConsultantManagerActivity import com.xjjk.healthyclients.ui.activity.guidance.DoctorAllAppraiseActivity -import com.xjjk.healthyclients.ui.activity.guidance.DoctorHomepageActivity import com.xjjk.healthyclients.ui.activity.guidance.EditConsultantActivity import com.xjjk.healthyclients.ui.activity.guidance.GeneralPracticeGuidanceActivity import com.xjjk.healthyclients.ui.activity.guidance.GuidanceNoticeActivity @@ -1373,9 +1373,9 @@ fun Context.startAllDoctorActivity(id:String) { ///** // * 模拟用户 // */ -//fun startSimulateUserActivity(context: Context){ -// startActivity(context, targetClass = SimulateUserActivity::class.java) -//} +fun startSimulateUserActivity(context: Context){ + startActivity(context, targetClass = SimulateUserActivity::class.java) +} // ///** // * 自由训练记录列表 diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/activity/LoginActivity.kt b/app/src/main/java/com/xjjk/healthyclients/ui/activity/LoginActivity.kt index b7de2c1..56d4bd0 100644 --- a/app/src/main/java/com/xjjk/healthyclients/ui/activity/LoginActivity.kt +++ b/app/src/main/java/com/xjjk/healthyclients/ui/activity/LoginActivity.kt @@ -169,7 +169,7 @@ class LoginActivity : BaseVMBActivity(R mHits = LongArray(mCount) isAdminEnable=true mBinding.loginEtUserName.setText("admin") - mBinding.loginEtUserPassword.setInputContext("&ZzW$3**@VLA") + mBinding.loginEtUserPassword.setInputContext("#fCjW%x2dv@a") showToast("已开启专业模式") mCount = 5 diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/activity/SimulateUserActivity.kt b/app/src/main/java/com/xjjk/healthyclients/ui/activity/SimulateUserActivity.kt new file mode 100644 index 0000000..be13991 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/ui/activity/SimulateUserActivity.kt @@ -0,0 +1,145 @@ +package com.xjjk.healthyclients.ui.activity + +import android.os.Bundle +import android.view.View +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.listener.OnItemClickListener +import com.google.gson.Gson +import com.sw.healthyclients.data.local.DataStoreManager +import com.xjjk.healthyclients.R +import com.xjjk.healthyclients.adapter.UserListAdapter +import com.xjjk.healthyclients.base.BaseVMBActivity +import com.xjjk.healthyclients.bean.UserListBean +import com.xjjk.healthyclients.databinding.ActivitySumilateBinding +import com.xjjk.healthyclients.event.UserInfoEvent +import com.xjjk.healthyclients.superfuntion.getEmptyView +import com.xjjk.healthyclients.superfuntion.orEmptyDefault +import com.xjjk.healthyclients.ui.viewmodel.SimulateUserViewModel +import com.xjjk.healthyclients.utils.CommonUtils +import kotlinx.coroutines.flow.collectLatest +import kotlinx.coroutines.launch +import org.greenrobot.eventbus.EventBus + +/** + * @author nanfeifei + * @time 2023/7/17 16:20 + * @description + */ +class SimulateUserActivity: BaseVMBActivity(R.layout.activity_sumilate), + SwipeRefreshLayout.OnRefreshListener, OnItemClickListener { + private val mAdapter: UserListAdapter = UserListAdapter() + var userName="" + override fun initView(savedInstanceState: Bundle?) { + mBinding.apply { + val linearLayoutManager = LinearLayoutManager(this@SimulateUserActivity + ) + rvList.layoutManager = linearLayoutManager + csvSearch.initView("请输入模拟用户账号") + csvSearch.setOnCustomClickListener { + userName= it + onRefresh() + } + + btnReset.setOnClickListener { + var bean2= DataStoreManager.getUserInfo2() + CommonUtils.loginSaveData(bean2) + mViewModel.restore() + } + } + } + + override fun initData() { + mViewModel.fakeUser(){} + } + override fun createObserve() { + super.createObserve() + mBinding.apply { + lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.CREATED) { + mViewModel.userList.collectLatest { list -> + list?.let { + mAdapter.setNewInstance(list.records) + mAdapter.notifyDataSetChanged() + if (rvList.adapter == null) { + mAdapter.setEmptyView(rvList.getEmptyView()) + mAdapter.setOnItemClickListener(this@SimulateUserActivity) +// initLoadMore() + rvList.adapter = mAdapter + } + } + } + } + } + + lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.CREATED) { + mViewModel.isSimuLateState.collectLatest { state -> + if (state){ + mViewModel.fakeUser(){bean-> + DataStoreManager.saveUserInfo2(Gson().toJson(DataStoreManager.getUserInfo())) + var bean2= DataStoreManager.getUserInfo() + bean2.id=bean.id + bean2.username=bean.username + bean2.orgCode=bean.orgCode + bean2.birthday=bean.birthday + bean2.phone=bean.phone + bean2.avatar=bean.avatar + bean2.idCard=bean.idCard + bean2.workNo=bean.workNo + bean2.realname=bean.realname + bean2.sex=bean.sex + CommonUtils.loginSaveData(bean2) + EventBus.getDefault().post(UserInfoEvent()) + finish() + } + } + } + } + } + lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.CREATED) { + mViewModel.isResetState.collectLatest { state -> + if (state){ + mBinding.tvUserName.text="当前模拟的用户:--" + EventBus.getDefault().post(UserInfoEvent()) + } + } + } + } + lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.CREATED) { + mViewModel.userBean.collectLatest { bean -> + if (bean!=null){ +// mBinding.llUser.visibility=View.VISIBLE + mBinding.tvUserName.text="当前模拟的用户:"+bean.realname.orEmptyDefault() + }else{ +// mBinding.llUser.visibility=View.GONE + mBinding.tvUserName.text="当前模拟的用户:--" + } + } + } + } + } + } + override fun bindEvent() { + + } + + override fun processClick(v: View?) { + + } + + override fun onRefresh() { + mViewModel.getMessageList(userName) + } + + override fun onItemClick(adapter: BaseQuickAdapter<*, *>, view: View, position: Int) { + var bean=mAdapter?.getItem(position) as UserListBean.RecordsDTO + mViewModel.simulateUser(bean.id) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/SimulateUserViewModel.kt b/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/SimulateUserViewModel.kt new file mode 100644 index 0000000..da2ced5 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/SimulateUserViewModel.kt @@ -0,0 +1,101 @@ +package com.xjjk.healthyclients.ui.viewmodel + +import com.sw.healthyclients.data.local.DataStoreManager +import com.xjjk.healthyclients.base.viewmodel.BaseViewModel +import com.xjjk.healthyclients.bean.UserListBean +import com.xjjk.healthyclients.data.repository.OtherRepository +import com.xjjk.healthyclients.superfuntion.handleRequest +import com.xjjk.healthyclients.superfuntion.launch +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow + +/** + * @author nanfeifei + * @time 2023/7/17 16:19 + * @description + */ +class SimulateUserViewModel: BaseViewModel() { + var userList = MutableSharedFlow() + var userBean = MutableSharedFlow() + var pageIndex = MutableStateFlow(1) + var isRefreshing = MutableStateFlow(false) + var isSimuLateState = MutableSharedFlow() + var isResetState = MutableStateFlow(false) + var isLoadMoreEnd = MutableSharedFlow() + var tokenOverdue = MutableSharedFlow() + private val pageSize = 20 + override fun init() { + getMessageList("") + } + fun getMessageList(username: String){ + launch(tryBlock = { + handleRequest(OtherRepository.getList(username), successBlock = { + if(it.result == null){ + + }else{ + userList.emit(it.result!!) + } + }) + }, finallyBlock = { + isRefreshing.emit(false) + }) + } + + fun simulateUser(userid: String){ + launch(tryBlock = { + handleRequest(OtherRepository.simulateUser(userid), successBlock = { + if (it.result == true){ + isSimuLateState.emit(true) + }else{ + isSimuLateState.emit(false) + } + }) + }, finallyBlock = { + isRefreshing.emit(false) + }) + } + fun fakeUser(method:(bean: UserListBean.RecordsDTO)->Unit){ + launch(tryBlock = { + handleRequest(OtherRepository.fakeUser(), successBlock = { + if (it.result !=null){ + method(it.result!!) + userBean.emit(it.result!!) + }else{ + userBean.emit(UserListBean.RecordsDTO()) + } + }) + }, finallyBlock = { + isRefreshing.emit(false) + }) + } + fun restore(){ + launch(tryBlock = { + handleRequest(OtherRepository.restore(), successBlock = { + if (it.result == true){ + isResetState.emit(true) + }else{ + isResetState.emit(false) + } + }) + }, finallyBlock = { + isRefreshing.emit(false) + }) + } + + /** + * token有效性 + */ + fun selectTokenExpire() { + launch( + { + handleRequest( + OtherRepository.selectTokenExpire(DataStoreManager.getToken()), + successBlock = { + it.result?.let { result -> + tokenOverdue.emit(result) + } + }) + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/view/CustomSearchView.kt b/app/src/main/java/com/xjjk/healthyclients/view/CustomSearchView.kt new file mode 100644 index 0000000..8b2a428 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/view/CustomSearchView.kt @@ -0,0 +1,97 @@ +package com.xjjk.healthyclients.view + +import android.content.Context +import android.text.Editable +import android.text.TextUtils +import android.text.TextWatcher +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import android.view.inputmethod.EditorInfo +import android.widget.EditText +import android.widget.RelativeLayout +import androidx.databinding.DataBindingUtil +import com.sw.healthyclients.utils.KeyboardUtil.hideSoftInput +import com.xjjk.healthyclients.R +import com.xjjk.healthyclients.databinding.CustomSearchViewBinding + +class CustomSearchView : RelativeLayout { + + var mContext:Context?=null + lateinit var mBinding: CustomSearchViewBinding + constructor(context: Context?,attrs : AttributeSet?): super(context, attrs,0){ + mContext=context + if(isInEditMode){ + LayoutInflater.from(context).inflate(R.layout.custom_search_view, this, true) + }else{ + mBinding = DataBindingUtil.inflate( + LayoutInflater.from(context), + R.layout.custom_search_view, this,true) + } + + } + fun initView(hint:String){ + mBinding.customSearchEt.hint="$hint" + } + fun initEtContext(value:String?){ + mBinding.customSearchEt.setText(value) + } + + fun setPerformClick(){ + mBinding.customSearchTv.performClick() + } + + fun setOnCustomClickListener(method: (searchContent: String) -> Unit): String { + mBinding.customSearchTv.setOnClickListener { + hideSoftInput(context, mBinding.customSearchEt) + var value = mBinding.customSearchEt.text.trim().toString() + method(value) + } + //输入内容为空时回调 + mBinding.customSearchEt.addTextChangedListener(object : TextWatcher { + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + if (TextUtils.isEmpty(s)) { +// method("") + mBinding.customSearchTv.performClick() + } + } + + override fun afterTextChanged(s: Editable?) { + + } + + }) + mBinding.customSearchEt.setOnEditorActionListener { v, actionId, event -> + if (actionId == EditorInfo.IME_ACTION_SEARCH) { + //点击搜索的时候隐藏软键盘 + hideSoftInput(context, v as EditText) + var value = mBinding.customSearchEt.text.trim().toString() + method(value) + } + false + } + return mBinding.customSearchEt.text.trim().toString() + } + + fun setFocusListener(method: (hasFocus:Boolean) -> Unit){ + mBinding.customSearchEt.setOnFocusChangeListener(object: OnFocusChangeListener{ + override fun onFocusChange(v: View?, hasFocus: Boolean) { + method(hasFocus) + } + }) + } + + fun getInoputText():String{ + return mBinding.customSearchEt.text.toString().trim() + } + + +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_sumilate.xml b/app/src/main/res/layout/activity_sumilate.xml new file mode 100644 index 0000000..dbf9e12 --- /dev/null +++ b/app/src/main/res/layout/activity_sumilate.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + +