@@ -3,6 +3,9 @@ package com.soerjdev.smkcodingproject2.ui
33import androidx.appcompat.app.AppCompatActivity
44import android.os.Bundle
55import android.util.Log
6+ import android.view.View
7+ import android.widget.AdapterView
8+ import android.widget.ArrayAdapter
69import android.widget.Toast
710import com.google.firebase.auth.FirebaseAuth
811import com.google.firebase.database.DatabaseReference
@@ -14,14 +17,19 @@ import com.soerjdev.smkcodingproject2.utils.showToast
1417import kotlinx.android.synthetic.*
1518import kotlinx.android.synthetic.main.activity_add_place_history.*
1619
17- class AddPlaceHistoryActivity : AppCompatActivity () {
20+ class AddPlaceHistoryActivity : AppCompatActivity (),
21+ AdapterView .OnItemSelectedListener {
1822
1923 private val database = FirebaseDatabase .getInstance()
2024 private val auth = FirebaseAuth .getInstance()
2125 private lateinit var databaseRef: DatabaseReference
2226 private var OPERATION_TYPE = " "
2327 private var updatedDataUid = " "
2428
29+ private lateinit var adapter: ArrayAdapter <CharSequence >
30+
31+ private var categoryPlaceHistory = " "
32+
2533 private var TAG = AddPlaceHistoryActivity ::class .java.name
2634
2735 companion object {
@@ -47,6 +55,14 @@ class AddPlaceHistoryActivity : AppCompatActivity() {
4755
4856 OPERATION_TYPE = intent.getStringExtra(TAG_OPERATION_TYPE )!!
4957
58+ adapter = ArrayAdapter .createFromResource(
59+ this ,
60+ R .array.place_history_type,
61+ android.R .layout.simple_spinner_item
62+ )
63+ adapter.setDropDownViewResource(android.R .layout.simple_spinner_dropdown_item)
64+ spinnerCategoryAddPlaceHistory.adapter = adapter
65+
5066 if (OPERATION_TYPE == " Update" ){
5167 val placeName = intent.getStringExtra(PLACE_NAME )
5268 val placeAddress = intent.getStringExtra(PLACE_ADDRESS )
@@ -59,6 +75,8 @@ class AddPlaceHistoryActivity : AppCompatActivity() {
5975
6076 databaseRef = database.getReference(" place_history" )
6177
78+ spinnerCategoryAddPlaceHistory.onItemSelectedListener = this
79+
6280 tbAddPlaceHistory.setNavigationOnClickListener { finish() }
6381
6482 if (OPERATION_TYPE == " Update" ){
@@ -75,24 +93,26 @@ class AddPlaceHistoryActivity : AppCompatActivity() {
7593 private fun setToTextInput (placeName : String? , placeDate : String? , placeAddress : String? , placeType : String? ) {
7694 tieNameAddPlaceHistory.setText(placeName)
7795 tieAddressAddPlaceHistory.setText(placeAddress)
78- tieCategoryAddPlaceHistory.setText(placeType)
96+
97+ val spinnerPosition = adapter.getPosition(placeType)
98+ spinnerCategoryAddPlaceHistory.setSelection(spinnerPosition)
99+
79100 tieDateAddPlaceHistory.setText(placeDate)
80101 }
81102
82103 private fun checkForm () {
83104 val placeName = tieNameAddPlaceHistory.text.toString()
84105 val placeAddress = tieAddressAddPlaceHistory.text.toString()
85- val placeType = tieCategoryAddPlaceHistory.text.toString()
86106 val placeDate = tieDateAddPlaceHistory.text.toString()
87107
88108 when {
89109 placeName.isEmpty() -> tilNameAddPlaceHistory.error = " Isi nama tempat !"
90110 placeAddress.isEmpty() -> tilAddressAddPlaceHistory.error = " Isi alamat tempat !"
91- placeType .isEmpty() -> tilCategoryAddPlaceHistory.error = " Isi jenis perjalanan !"
111+ categoryPlaceHistory .isEmpty() -> showToast( this , " Isi jenis perjalanan !" )
92112 placeDate.isEmpty() -> tilDateAddPlaceHistory.error = " Isi tanggal perjalanan !"
93113 else -> when (OPERATION_TYPE ){
94- " Input" -> insertData(placeName, placeAddress, placeType , placeDate)
95- " Update" -> updateData(placeName, placeAddress, placeType , placeDate)
114+ " Input" -> insertData(placeName, placeAddress, categoryPlaceHistory , placeDate)
115+ " Update" -> updateData(placeName, placeAddress, categoryPlaceHistory , placeDate)
96116 }
97117 }
98118 }
@@ -125,4 +145,13 @@ class AddPlaceHistoryActivity : AppCompatActivity() {
125145 super .onDestroy()
126146 this .clearFindViewByIdCache()
127147 }
148+
149+
150+ override fun onNothingSelected (p0 : AdapterView <* >? ) {
151+
152+ }
153+
154+ override fun onItemSelected (parent : AdapterView <* >? , view : View ? , position : Int , id : Long ) {
155+ categoryPlaceHistory = parent?.getItemAtPosition(position).toString()
156+ }
128157}
0 commit comments