Skip to content

Commit

Permalink
refactor : 온보딩 학과 선택 BaseActivity 기반 코드로 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
huiwoo-jo committed Feb 20, 2024
1 parent 326b75b commit b0b879a
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 21 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.dongyang.android.youdongknowme.standard.base

import android.content.Context
import android.os.Bundle
import android.text.Spannable
import android.text.SpannableStringBuilder
Expand Down Expand Up @@ -32,7 +33,12 @@ abstract class BaseActivity<T : ViewDataBinding, R : BaseViewModel> : AppCompatA
initAfterBinding()
}

protected fun setSpanText(spanTextView: TextView, startIdx: Int, endIdx: Int){
protected fun setSpanText(
baseContext: Context,
spanTextView: TextView,
startIdx: Int,
endIdx: Int
){
SpannableStringBuilder(spanTextView.text).apply {
setSpan(
ForegroundColorSpan(getColor(com.dongyang.android.youdongknowme.R.color.main)),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,40 +1,32 @@
package com.dongyang.android.youdongknowme.ui.view.depart

import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import com.dongyang.android.youdongknowme.R
import com.dongyang.android.youdongknowme.databinding.ActivityOnboardingDepartBinding
import com.dongyang.android.youdongknowme.function.setSpanText
import com.dongyang.android.youdongknowme.standard.base.BaseActivity
import com.dongyang.android.youdongknowme.ui.adapter.DepartAdapter
import com.dongyang.android.youdongknowme.ui.view.keyword.KeywordActivity
import com.dongyang.android.youdongknowme.ui.view.main.MainActivity
import org.koin.androidx.viewmodel.ext.android.viewModel

class OnboardingDepartActivity : AppCompatActivity(), DepartClickListener {
class OnboardingDepartActivity : BaseActivity<ActivityOnboardingDepartBinding, DepartViewModel>(),
DepartClickListener {

private lateinit var adapter: DepartAdapter
private lateinit var binding: ActivityOnboardingDepartBinding
private val viewModel: DepartViewModel by viewModel()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityOnboardingDepartBinding.inflate(layoutInflater)
setContentView(binding.root)
override val layoutResourceId: Int = R.layout.activity_onboarding_depart
override val viewModel: DepartViewModel by viewModel()
lateinit var adapter: DepartAdapter
private lateinit var items: ArrayList<String>

override fun initStartView() {
binding.vm = viewModel

viewModel.checkFirstLaunch()

// 부분 색상 지정
setSpanText(baseContext, binding.tvOnboardingDepartTitleMain,startIdx = 0, endIdx = 5)

// 학과 리스트
val items =
items =
resources.getStringArray(R.array.dmu_department_list).toCollection(ArrayList<String>())
items.sort()

// 학과 리스트
adapter = DepartAdapter().apply {
submitList(items)
setItemClickListener(this@OnboardingDepartActivity)
Expand All @@ -46,7 +38,15 @@ class OnboardingDepartActivity : AppCompatActivity(), DepartClickListener {
this.setHasFixedSize(true)
}

// 선택 포지션을 실시간 옵저빙
// 부분 색상 지정
setSpanText(baseContext, binding.tvOnboardingDepartTitleMain, startIdx = 0, endIdx = 5)
}

override fun initDataBinding() {

}

override fun initAfterBinding() {
viewModel.selectDepartPosition.observe(this) {
adapter.submitPosition(it)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.lifecycle.Observer
import com.dongyang.android.youdongknowme.R
import com.dongyang.android.youdongknowme.data.local.entity.KeywordEntity
import com.dongyang.android.youdongknowme.databinding.ActivityKeywordBinding
import com.dongyang.android.youdongknowme.function.setSpanText
import com.dongyang.android.youdongknowme.standard.base.BaseActivity
import com.dongyang.android.youdongknowme.ui.view.main.MainActivity
import com.google.android.material.chip.Chip
Expand Down

0 comments on commit b0b879a

Please sign in to comment.