@@ -4,7 +4,10 @@ import android.content.Intent
44import android.os.Bundle
55import android.text.InputType
66import android.view.Gravity
7+ import android.view.KeyEvent
78import android.view.View
9+ import android.view.inputmethod.EditorInfo
10+ import android.widget.TextView
811import androidx.activity.OnBackPressedCallback
912import androidx.activity.viewModels
1013import androidx.constraintlayout.widget.ConstraintSet
@@ -19,6 +22,7 @@ import com.runnect.runnect.util.custom.CommonDialogFragment
1922import com.runnect.runnect.util.custom.PopupItem
2023import com.runnect.runnect.util.custom.RunnectPopupMenu
2124import com.runnect.runnect.util.extension.getCompatibleSerializableExtra
25+ import com.runnect.runnect.util.extension.hideKeyboard
2226import com.runnect.runnect.util.extension.setFocusAndShowKeyboard
2327import com.runnect.runnect.util.extension.showToast
2428import com.runnect.runnect.util.extension.snackBar
@@ -82,19 +86,43 @@ class MyHistoryDetailActivity :
8286 }
8387
8488 private fun addListener () {
89+ initBackButtonClickListener()
90+ initShowMoreButtonClickListener()
91+ initEditFinishButtonClickListener()
92+ initTitleEditorActionDoneListener()
93+ }
94+
95+ private fun initBackButtonClickListener () {
8596 binding.ivBackBtn.setOnClickListener {
8697 handleBackButtonByCurrentScreenMode()
8798 }
99+ }
88100
101+ private fun initShowMoreButtonClickListener () {
89102 binding.ivShowMore.setOnClickListener { view ->
90103 showPopupMenu(view)
91104 }
105+ }
92106
107+ private fun initEditFinishButtonClickListener () {
93108 binding.btnMyHistoryDetailEditFinish.setOnClickListener {
94109 viewModel.patchHistoryTitle()
95110 }
96111 }
97112
113+ private fun initTitleEditorActionDoneListener () {
114+ binding.etCourseTitle.setOnEditorActionListener(object : TextView .OnEditorActionListener {
115+ override fun onEditorAction (view : TextView ? , actionId : Int , event : KeyEvent ? ): Boolean {
116+ if (actionId == EditorInfo .IME_ACTION_DONE ) {
117+ viewModel.patchHistoryTitle()
118+ hideKeyboard(currentFocus ? : View (this @MyHistoryDetailActivity))
119+ return true
120+ }
121+ return false
122+ }
123+ })
124+ }
125+
98126 private fun registerBackPressedCallback () {
99127 val callback = object : OnBackPressedCallback (true ) {
100128 override fun handleOnBackPressed () {
0 commit comments