Skip to content

Commit

Permalink
[add] #5 BindingActivity, BindingFragment 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
YuBeen-Park committed Dec 26, 2022
1 parent c036e65 commit 2e4e167
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
17 changes: 17 additions & 0 deletions app/src/main/java/org/sopt/sample/base/BindingActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.sopt.sample.base

import android.os.Bundle
import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding

abstract class BindingActivity<B : ViewDataBinding>(@LayoutRes private val layoutRes: Int) :
AppCompatActivity() {
lateinit var binding: B

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, layoutRes)
}
}
30 changes: 30 additions & 0 deletions app/src/main/java/org/sopt/sample/base/BindingFragment.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package org.sopt.sample.base

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.LayoutRes
import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding
import androidx.fragment.app.Fragment

abstract class BindingFragment<B : ViewDataBinding>(@LayoutRes private val layoutResId: Int) :
Fragment() {
private var _binding: B? = null
val binding get() = requireNotNull(_binding!!) { "${this::class.java.simpleName}에서 에러가 발생했습니다." }

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?,
): View {
_binding = DataBindingUtil.inflate(inflater, layoutResId, container, false)
return binding.root
}

override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
}

0 comments on commit 2e4e167

Please sign in to comment.