wildanfuady

Form Activity

Jan 13th, 2020
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.01 KB | None | 0 0
  1. package com.wildanfuady.sekolahku
  2.  
  3. import androidx.appcompat.app.AppCompatActivity
  4. import android.os.Bundle
  5. import android.text.TextUtils
  6. import android.view.Menu
  7. import android.view.MenuItem
  8. import android.widget.Toast
  9. import com.wildanfuady.sekolahku.models.Siswa
  10. import kotlinx.android.synthetic.main.activity_form.*
  11.  
  12. class FormActivity : AppCompatActivity() {
  13.  
  14. override fun onCreate(savedInstanceState: Bundle?) {
  15. super.onCreate(savedInstanceState)
  16.  
  17. setContentView(R.layout.activity_form)
  18.  
  19. btnSimpan.setOnClickListener {
  20. // Ketika button di klik, tampilkan toast
  21. simpan()
  22. }
  23.  
  24. }
  25.  
  26. // Fungsi untuk menggenerate menu
  27. override fun onCreateOptionsMenu(menu: Menu?): Boolean {
  28. menuInflater.inflate(R.menu.save, menu)
  29. return super.onCreateOptionsMenu(menu)
  30. }
  31.  
  32. override fun onOptionsItemSelected(item: MenuItem): Boolean {
  33. if(item.itemId == R.id.save){
  34. simpan()
  35. }
  36. return super.onOptionsItemSelected(item)
  37. }
  38. // end fungsi generate menu
  39.  
  40.  
  41. fun getInput(): Siswa{
  42.  
  43. var nama_depan = inputNamaDepan.text.toString()
  44. var nama_belakang = inputNamaBelakang.text.toString()
  45. var no_hp = inputNoHp.text.toString()
  46. // untuk melakukan pemilihan dari input lebih baik pakai function karena ada if
  47. var gender = getSelectedGender()
  48. var jenjang = spinnerJenjang.selectedItem.toString()
  49. var hobi = getSelectedHobi()
  50. var alamat = inputAlamat.text.toString()
  51.  
  52. var siswaTemp = Siswa()
  53.  
  54. siswaTemp.namad = nama_depan
  55. siswaTemp.namab = nama_belakang
  56. siswaTemp.gender = gender
  57. siswaTemp.alamat = alamat
  58. siswaTemp.jenjang = jenjang
  59. siswaTemp.noHp = no_hp
  60. siswaTemp.hobi = hobi
  61.  
  62. return siswaTemp
  63.  
  64. }
  65.  
  66. fun simpan(){
  67.  
  68. if (!validateAll()){
  69. // finish()
  70. return
  71. }
  72.  
  73. // var siswaInput = getInput()
  74. // var dataSource = SiswaDataSource(this)
  75. // dataSource.insertStudent(siswaInput)
  76.  
  77. return showToast("Data berhasil disimpan")
  78. }
  79.  
  80. fun showToast(string: String){
  81.  
  82. Toast.makeText(this, string, Toast.LENGTH_SHORT).show()
  83.  
  84. }
  85.  
  86. fun getSelectedGender(): String{
  87. var gender = ""
  88. if(rbPria.isChecked){
  89. gender = "Pria"
  90. } else {
  91. gender = "Wanita"
  92. }
  93. return gender
  94. }
  95.  
  96. fun getSelectedHobi(): String{
  97.  
  98. var listHobi = ArrayList<String>()
  99.  
  100. // ["Membaca", "Membaca", "Menggambar"]
  101.  
  102. if(cbMembaca.isChecked) listHobi.add("Membaca")
  103. if(cbMenulis.isChecked) listHobi.add("Menulis")
  104. if(cbMenggambar.isChecked) listHobi.add("Menggambar")
  105.  
  106. return TextUtils.join(", ", listHobi)
  107.  
  108. }
  109.  
  110. fun validateNamaDepan():Boolean{
  111.  
  112. var nama = inputNamaDepan.text.toString()
  113. //jika kosong kasih error
  114. if (nama.isEmpty()){
  115. inputNamaDepan.setError("Tidak Boleh Kosong")
  116. inputNamaDepan.requestFocus()
  117. return false
  118.  
  119. }
  120. if (isContainSpecialChar(nama)){
  121. inputNamaDepan.setError("Tidak Boleh Ada Special Char")
  122. inputNamaDepan.requestFocus()
  123. return false
  124. }
  125. return true
  126. }
  127.  
  128. fun validateNamaBelakang():Boolean{
  129.  
  130. var nama = inputNamaBelakang.text.toString()
  131. //jika kosong kasih error
  132. if (nama.isEmpty()){
  133. inputNamaBelakang.setError("Tidak Boleh Kosong")
  134. inputNamaBelakang.requestFocus()
  135. return false
  136.  
  137. }
  138. if (isContainSpecialChar(nama)){
  139. inputNamaBelakang.setError("Tidak Boleh Ada Special Char")
  140. inputNamaBelakang.requestFocus()
  141. return false
  142. }
  143. return true
  144. }
  145.  
  146. fun validateNoHp():Boolean{
  147.  
  148. var nama = inputNoHp.text.toString()
  149. //jika kosong kasih error
  150. if (nama.isEmpty()){
  151. inputNoHp.setError("Tidak Boleh Kosong")
  152. inputNoHp.requestFocus()
  153. return false
  154.  
  155. }
  156. return true
  157. }
  158.  
  159. fun validateAlamat():Boolean{
  160.  
  161. var nama = inputAlamat.text.toString()
  162. //jika kosong kasih error
  163. if (nama.isEmpty()){
  164. inputAlamat.setError("Tidak Boleh Kosong")
  165. inputAlamat.requestFocus()
  166. return false
  167.  
  168. }
  169. return true
  170. }
  171.  
  172. // fungsi untuk mencegah karakter khusus
  173. private fun isContainSpecialChar(nama : String): Boolean {
  174. var forbid = "!@#$/?*&%^)(.,"
  175.  
  176. for (i in forbid.indices){
  177. if (nama.contains(forbid[i])){
  178. return true
  179. }
  180. }
  181. return false
  182. }
  183.  
  184. private fun validateAll() : Boolean{
  185.  
  186. if (validateNamaDepan()
  187. && validateNamaBelakang()
  188. && validateNoHp()
  189. && validateAlamat()){
  190. return true
  191. }
  192. return false
  193.  
  194. }
  195.  
  196. }
Advertisement
Add Comment
Please, Sign In to add comment