Added search for caste and category dropdown, and Added textbox for Under Category if the "OTHER" option is selected from dropdown

This commit is contained in:
Mariya
2023-10-06 15:31:25 +05:30
parent 8dcec7bb3f
commit a3d67a7a88
2 changed files with 54 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
@@ -42,6 +43,17 @@ class UserDetailsRegistrationFragment : Fragment() {
private fun init() {
setupViewModel()
setupSubmitButton()
binding.etCategory.setOnItemClickListener { parent, view, position, id ->
if (parent.getItemAtPosition(position).toString().equals("OTHER", ignoreCase = true)) {
binding.tilOther.visibility = View.VISIBLE
} else {
binding.tilOther.visibility = View.GONE
}
}
}
private fun setupViewModel() {
@@ -71,8 +83,9 @@ class UserDetailsRegistrationFragment : Fragment() {
user.phoneNumber.let { etMobile.setText(it) }
user.careOf.let { etCareof.setText(it) }
user.maritalStatus.let { etIsMarried.setText(it, false) }
user.caste.let { etCaste.setText(it, false) }
user.category.let { etCategory.setText(it, false) }
user.caste.let {
etCaste.setText(it, false)
}
user.subCaste.let { etSubCaste.setText(it) }
user.house.let { etHouse.setText(it) }
user.city.let { etCity.setText(it) }
@@ -94,6 +107,11 @@ class UserDetailsRegistrationFragment : Fragment() {
yes1history.isChecked = true
}
}
user.category.let {
etCategory.setText(it, false)
}
if (yes1history.isChecked) {
if (binding.yes1history.isChecked) View.VISIBLE else View.GONE
@@ -112,6 +130,12 @@ class UserDetailsRegistrationFragment : Fragment() {
if (binding.no1history.isChecked) View.GONE else View.VISIBLE
}
if (binding.etCategory.text.toString().equals("OTHER", ignoreCase = true)) {
binding.tilOther.visibility = View.VISIBLE
binding.etOther.visibility = View.VISIBLE
} else {
binding.tilOther.visibility = View.GONE
}
}
}
@@ -177,9 +201,12 @@ class UserDetailsRegistrationFragment : Fragment() {
}
val category = etCategory.text.toString()
val other = etOther.text.toString()
if (category.isEmpty()) {
etCategory.error = "Please enter your category"
return false
} else if (category == "OTHER" && tilOther.isVisible) {
userData.category = other
} else {
userData.category = category
}
@@ -188,10 +215,11 @@ class UserDetailsRegistrationFragment : Fragment() {
if (caste.isEmpty()) {
etCaste.error = "Please enter your caste"
return false
} else {
}else{
userData.caste = caste
}
val subCaste = etSubCaste.text.toString()
if (subCaste.isNotEmpty()) {
userData.subCaste = subCaste

View File

@@ -160,12 +160,32 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/category"
android:inputType="none"
android:inputType="text"
android:labelFor="@id/til_is_married"
app:simpleItems="@array/category" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:visibility="gone"
android:id="@+id/til_other"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:layout_marginTop="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/til_category">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_other"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Other Category"
android:inputType="text"
android:maxLength="10" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/til_caste"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
@@ -175,14 +195,14 @@
android:layout_marginTop="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/til_category">
app:layout_constraintTop_toBottomOf="@id/til_other">
<AutoCompleteTextView
android:id="@+id/et_Caste"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/caste"
android:inputType="none"
android:inputType="text"
android:labelFor="@id/til_is_married"
app:simpleItems="@array/caste" />