점수 입력란 별 유효성 검사 추가
SearchCostFragment
<EditText
android:id="@+id/ed_search_cost_input_cost"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="35dp"
android:layout_marginStart="25dp"
android:layout_marginEnd="80dp"
android:gravity="end"
android:inputType="number"
android:maxLength="2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_search_cost_title"
android:hint="10" />
기존 EditText 직접 입력 방식(백, 십, 일의 단위까지) -> maxLength 추가해서 0 ~ 99 만 원 사이의 값을 사용하도록 변경
마찬가지로 기존 EditText 직접 입력 방식(시, 분 한번에) -> 시, 분을 나눠 코드상으로 합치도록 수정
binding.tvSearchTimeNext.setOnClickListener {
val fromStart: String?
val toStart: String?
fromStart =
binding.edSearchTimeFrom.text.toString() + binding.edSearchTimeFrom2.text.toString()
toStart =
binding.edSearchTimeTo.text.toString() + binding.edSearchTimeTo2.text.toString()
...
입력란이 비어있을 시 다음 화면으로 넘어갈 수 없게끔 수정(단, 건너뛰기 클릭시는 예외)
binding.apply {
tvSearchCostNext.setOnClickListener {
if (binding.edSearchCostInputCost.text.toString().isEmpty()) {
Toast.makeText(requireContext(), "금액을 입력해주세요.", Toast.LENGTH_SHORT).show()
} else {
val price: Int = binding.edSearchCostInputCost.text.toString().toInt() * 10000
viewModel.getCostScore(price)
val searchLoadingFragment = SearchLoadingFragment()
val transaction = parentFragmentManager.beginTransaction()
transaction.replace(R.id.fr_main, searchLoadingFragment)
transaction.addToBackStack(null)
transaction.commit()
}
}
tvSearchCostSkip.setOnClickListener {
val price = 0
viewModel.getCostScore(price)
val searchLoadingFragment = SearchLoadingFragment()
val transaction = parentFragmentManager.beginTransaction()
transaction.replace(R.id.fr_main, searchLoadingFragment)
transaction.addToBackStack(null)
transaction.commit()
}
}
...
'TIL' 카테고리의 다른 글
TIL 58일차 - 최종프로젝트 (0) | 2024.06.12 |
---|---|
TIL 57일차 - 최종프로젝트 (0) | 2024.06.11 |
TIL 55일차- 최종프로젝트 (0) | 2024.06.07 |
TIL 54일차 - 최종프로젝트 (0) | 2024.06.06 |
TIL 53일차 - 최종프로젝트 (1) | 2024.06.05 |