<layout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="presenter"
type="woowacourse.Movie.CounterPresenter">
</data>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.home.HomeFragment">
<TextView
android:id="@+id/text_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Fragment~~Binding이 생기게 됨
private lateinit var binding: FragmentCounterBinding
override fun onCreateView {
setupBinding()
setUpPresenter()
return binding.root
}
override fun onViewCreated(){
setUpView() //여기서 해야함 onCreateView에서 하면 안됨
}
fun setupBinding(){
binding = FragmentCounterBinding.inflate(layoutInflater)
}
==> 단방향 데이터바인딩
==> 양뱡향은 나중에 배워!
R.id.itemID -> {
supportFragmentManager.commit{
setOrderingAllowed(true)
val fragment : Fragment? = supproteFragmentManager.findFragmentByTag(HomeFragment.TAG)
if(fragment == null) {
supportFragmentManager.fragmnets.forEash(::hide)
add(R.id.fragment_container_view, HomeFragment.newInstance(name), HomeFragment.TAG)
} else {
supportFragmentManager.fragmnets.forEash(::hide)
show(fragment)
}
}
true
}
onViewCreated(){
val name = arguments?.getString("name") ?: "이름없음"
}
fun newInstance(name: String): HomeFragment {
HomeFragment().apply {
// name을 HomeFragment의 setArgument()로 넣어줄 것
arguments = bundelOf(
"name" to name
)
}
}
//