Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package id.com.rumahcoding.sekolahku
- import android.app.DatePickerDialog
- import android.content.Intent
- import androidx.appcompat.app.AppCompatActivity
- import android.os.Bundle
- import android.text.Editable
- import android.text.TextUtils
- import android.view.Menu
- import android.view.MenuItem
- import android.widget.DatePicker
- import android.widget.Toast
- import id.com.rumahcoding.sekolahku.model.Siswa
- import kotlinx.android.synthetic.main.activity_form.*
- import java.util.*
- import kotlin.collections.ArrayList
- class FormActivity : AppCompatActivity(), DatePickerDialog.OnDateSetListener {
- override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
- val tgl = "${dayOfMonth} - ${month+1} - $year "
- inputTglLahir.setText(tgl)
- }
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_form)
- supportActionBar?.setDisplayHomeAsUpEnabled(true)
- btnSimpan.setOnClickListener {
- simpan()
- }
- inputTglLahir.setOnClickListener {
- showDialogChooseDate()
- }
- }
- private fun showDialogChooseDate() {
- var calender = Calendar.getInstance()
- val datePick = DatePickerDialog(this, this,
- calender.get(Calendar.YEAR),
- calender.get(Calendar.MONTH),
- calender.get(Calendar.DAY_OF_MONTH))
- datePick.show()
- }
- override fun onCreateOptionsMenu(menu: Menu?): Boolean {
- menuInflater.inflate(R.menu.save ,menu )
- return super.onCreateOptionsMenu(menu)
- }
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- if (item.itemId == R.id.item_save){
- simpan()
- }
- return super.onOptionsItemSelected(item)
- }
- fun validateNamaDepan() : Boolean{
- var namaDepan = inputNamaDepan.text.toString()
- if (namaDepan.isEmpty()){
- inputNamaDepan.setError("Required")
- inputNamaDepan.requestFocus()
- return false
- }
- if (isContainSpecialChar(namaDepan)){
- inputNamaDepan.setError("Special not allowed")
- inputNamaDepan.requestFocus()
- return false
- }
- return true
- }
- private fun getSelectedGender(): String {
- var gender = ""
- if (rbPria.isChecked)
- {
- //lakukan ini
- gender = "Pria"
- }
- else {
- //kalau tidak lakukan yang ini
- gender = "Wanita"
- }
- return gender
- }
- fun isValidateAll(): Boolean{
- if (validateNamaDepan() &&
- validateNamaBelakang() &&
- validateNoHp() && validateAlamat()){
- return true
- }
- return false
- }
- fun validateNamaBelakang() : Boolean{
- var namaDepan = inputNamaBelakang.text.toString()
- if (namaDepan.isEmpty()){
- inputNamaBelakang.setError("Required")
- inputNamaBelakang.requestFocus()
- return false
- }
- if (isContainSpecialChar(namaDepan)){
- inputNamaBelakang.setError("Special not allowed")
- inputNamaBelakang.requestFocus()
- return false
- }
- return true
- }
- fun validateAlamat() : Boolean{
- var alamat= inputAlamat.text.toString()
- if (alamat.isEmpty()){
- inputAlamat.setError("Required")
- inputAlamat.requestFocus()
- return false
- }
- return true
- }
- fun validateNoHp() : Boolean{
- var nohp= inputNoHp.text.toString()
- if (nohp.isEmpty()){
- inputNoHp.setError("Required")
- inputNoHp.requestFocus()
- return false
- }
- return true
- }
- private fun getSelectedHobi(): String {
- var listHobi = ArrayList<String>()
- if (cbMembaca.isChecked) listHobi.add("Membaca")
- if (cbMenulis.isChecked) listHobi.add("Menulis")
- if (cbMenggambar.isChecked) listHobi.add("Menggambar")
- var hobi = TextUtils.join(", ", listHobi)
- return hobi
- }
- fun isContainSpecialChar(text : String): Boolean {
- var forbid = "@!#$%&*^"
- for (i in forbid.indices){
- if (text.contains(forbid[i])){
- return true
- }
- }
- return false
- }
- fun simpan() {
- if (!isValidateAll()){
- return
- }
- var siswa = getInput()
- var dataSource = SiswaDataSource(this)
- dataSource.insertStudent(siswa)
- Toast.makeText(this, "Berhasil menyimpan data",
- Toast.LENGTH_SHORT).show()
- finish()
- }
- private fun getInput(): Siswa {
- var namaDepan = inputNamaDepan.text.toString()
- var namaBelakang = inputNamaBelakang.text.toString()
- var nohp = inputNoHp.text.toString()
- var alamat = inputAlamat.text.toString()
- var email = inputEmail.text.toString()
- var jenjang = spinner.selectedItem.toString()
- var tgl_lahir = inputTglLahir.text.toString()
- var hobi = getSelectedHobi()
- var gender = getSelectedGender()
- var siswa = Siswa()
- siswa.namad = namaDepan
- siswa.namab = namaBelakang
- siswa.alamat= alamat
- siswa.gender = gender
- siswa.jenjang= jenjang
- siswa.hobi = hobi
- siswa.noHp = nohp
- siswa.email = email
- siswa.tglLahir = tgl_lahir
- return siswa
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement