Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.32 KB | None | 0 0
  1. class FormActivity : AppCompatActivity(){
  2.  
  3. override fun onCreate(savedInstanceState: Bundle?) {
  4. super.onCreate(savedInstanceState)
  5. setContentView(R.layout.activity_form)
  6.  
  7. supportActionBar?.setDisplayHomeAsUpEnabled(true)
  8.  
  9.  
  10. btnSimpan.setOnClickListener {
  11.  
  12. simpan()
  13.  
  14. }
  15.  
  16. }
  17.  
  18. override fun onCreateOptionsMenu(menu: Menu?): Boolean {
  19. menuInflater.inflate(R.menu.save ,menu )
  20. return super.onCreateOptionsMenu(menu)
  21. }
  22.  
  23. override fun onOptionsItemSelected(item: MenuItem): Boolean {
  24. if (item.itemId == R.id.item_save){
  25. simpan()
  26. }
  27. return super.onOptionsItemSelected(item)
  28. }
  29.  
  30. fun validateNamaDepan() : Boolean{
  31. var namaDepan = inputNamaDepan.text.toString()
  32. if (namaDepan.isEmpty()){
  33. inputNamaDepan.setError("Required")
  34. inputNamaDepan.requestFocus()
  35. return false
  36. }
  37.  
  38. if (isContainSpecialChar(namaDepan)){
  39. inputNamaDepan.setError("Special not allowed")
  40. inputNamaDepan.requestFocus()
  41. return false
  42. }
  43.  
  44. return true
  45. }
  46.  
  47. private fun getSelectedGender(): String {
  48. var gender = ""
  49. if (rbPria.isChecked)
  50. {
  51. //lakukan ini
  52. gender = "Pria"
  53. }
  54. else {
  55. //kalau tidak lakukan yang ini
  56. gender = "Wanita"
  57. }
  58.  
  59. return gender
  60.  
  61. }
  62.  
  63.  
  64. fun isValidateAll(): Boolean{
  65. if (validateNamaDepan() &&
  66. validateNamaBelakang() &&
  67. validateNoHp() && validateAlamat()){
  68. return true
  69. }
  70.  
  71. return false
  72. }
  73.  
  74. fun validateNamaBelakang() : Boolean{
  75. var namaDepan = inputNamaBelakang.text.toString()
  76. if (namaDepan.isEmpty()){
  77. inputNamaBelakang.setError("Required")
  78. inputNamaBelakang.requestFocus()
  79. return false
  80. }
  81.  
  82. if (isContainSpecialChar(namaDepan)){
  83. inputNamaBelakang.setError("Special not allowed")
  84. inputNamaBelakang.requestFocus()
  85. return false
  86. }
  87.  
  88.  
  89. return true
  90. }
  91.  
  92. fun validateAlamat() : Boolean{
  93. var alamat= inputAlamat.text.toString()
  94. if (alamat.isEmpty()){
  95. inputAlamat.setError("Required")
  96. inputAlamat.requestFocus()
  97. return false
  98. }
  99.  
  100. return true
  101. }
  102.  
  103. fun validateNoHp() : Boolean{
  104. var nohp= inputNoHp.text.toString()
  105. if (nohp.isEmpty()){
  106. inputNoHp.setError("Required")
  107. inputNoHp.requestFocus()
  108. return false
  109. }
  110.  
  111. return true
  112. }
  113.  
  114. private fun getSelectedHobi(): String {
  115. var listHobi = ArrayList<String>()
  116.  
  117. if (cbMembaca.isChecked) listHobi.add("Membaca")
  118.  
  119. if (cbMenulis.isChecked) listHobi.add("Menulis")
  120. if (cbMenggambar.isChecked) listHobi.add("Menggambar")
  121.  
  122. var hobi = TextUtils.join(", ", listHobi)
  123. return hobi
  124.  
  125. }
  126.  
  127. fun isContainSpecialChar(text : String): Boolean {
  128. var forbid = "@!#$%&*^"
  129.  
  130.  
  131. for (i in forbid.indices){
  132.  
  133. if (text.contains(forbid[i])){
  134. return true
  135. }
  136. }
  137.  
  138. return false
  139.  
  140. }
  141.  
  142. fun simpan() {
  143.  
  144. if (!isValidateAll()){
  145. return
  146. }
  147.  
  148. var siswa = getInput()
  149. var dataSource = SiswaDataSource(this)
  150. dataSource.insertStudent(siswa)
  151.  
  152. Toast.makeText(this, "Berhasil menyimpan data",
  153. Toast.LENGTH_SHORT).show()
  154.  
  155. finish()
  156.  
  157.  
  158. }
  159.  
  160. private fun getInput(): Siswa {
  161.  
  162. var namaDepan = inputNamaDepan.text.toString()
  163. var namaBelakang = inputNamaBelakang.text.toString()
  164. var nohp = inputNoHp.text.toString()
  165. var alamat = inputAlamat.text.toString()
  166. var jenjang = spinner.selectedItem.toString()
  167. var hobi = getSelectedHobi()
  168.  
  169. var gender = getSelectedGender()
  170.  
  171. var siswa = Siswa()
  172. siswa.namad = namaDepan
  173. siswa.namab = namaBelakang
  174. siswa.alamat= alamat
  175. siswa.gender = gender
  176. siswa.jenjang= jenjang
  177. siswa.hobi = hobi
  178. siswa.noHp = nohp
  179.  
  180. return siswa
  181.  
  182. }
  183.  
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement