Skip to content

Commit

Permalink
[MOD/#8] 프래그먼트 newInstance() 함수 적용
Browse files Browse the repository at this point in the history
  • Loading branch information
kangyuri1114 committed Oct 24, 2023
1 parent fd948a1 commit 2538239
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,30 +31,24 @@ class BnvActivity : AppCompatActivity() {
binding.bnvHome.setOnItemSelectedListener {
when (it.itemId) {
R.id.menu_home -> {
replaceFragment(HomeFragment())
val fragment = HomeFragment.newInstance()
replaceFragment(fragment)
true
}

R.id.menu_do_android -> {
replaceFragment(DoAndroidFragment())
val fragment = DoAndroidFragment.newInstance()
replaceFragment(fragment)
true
}

R.id.menu_mypage -> {
val fragment = MypageFragment()

val getId = intent.getStringExtra("ID")
val getNickname = intent.getStringExtra("Nickname")
val getAge = intent.getStringExtra("Age")
val getId = intent.getStringExtra("ID")!!
val getNickname = intent.getStringExtra("Nickname")!!
val getAge = intent.getStringExtra("Age")!!

// 자동 로그인이 아닌 경우 프래그먼트로 유저 정보 전달
val bundle = Bundle().apply {
putString("userId", getId)
putString("userNickname", getNickname)
putString("userAge", getAge)
}

fragment.arguments = bundle
val fragment = MypageFragment.newInstance(getId, getNickname, getAge)

replaceFragment(fragment)
true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ import androidx.fragment.app.Fragment
import org.sopt.dosopttemplate.databinding.FragmentDoAndroidBinding

class DoAndroidFragment : Fragment() {
companion object {
fun newInstance(): DoAndroidFragment {
return DoAndroidFragment()
}
}

private var _binding: FragmentDoAndroidBinding? = null
private val binding: FragmentDoAndroidBinding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ import org.sopt.dosopttemplate.databinding.FragmentHomeBinding
import org.sopt.dosopttemplate.presentation.adapter.FriendsSealedAdapter

class HomeFragment : Fragment() {
companion object {
fun newInstance(): HomeFragment {
return HomeFragment()
}
}

private var _binding: FragmentHomeBinding? = null
private val binding: FragmentHomeBinding
Expand All @@ -28,7 +33,7 @@ class HomeFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

var friendsSealedAdapter = FriendsSealedAdapter(requireContext())
val friendsSealedAdapter = FriendsSealedAdapter(requireContext())
binding.rvFriends.adapter = friendsSealedAdapter
friendsSealedAdapter.addFriendsData(ArrayList(DummyFriendsData.dummyFriendList))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,17 @@ import org.sopt.dosopttemplate.di.UserSharedPreferences
import org.sopt.dosopttemplate.presentation.auth.LoginActivity

class MypageFragment : Fragment() {
companion object {
fun newInstance(userId: String, userNickname: String, userAge: String): MypageFragment {
val fragment = MypageFragment()
val args = Bundle()
args.putString("userId", userId)
args.putString("userNickname", userNickname)
args.putString("userAge", userAge)
fragment.arguments = args
return fragment
}
}

private var _binding: FragmentMypageBinding? = null
private val binding: FragmentMypageBinding
Expand Down

0 comments on commit 2538239

Please sign in to comment.