안드로이드에서 프래그먼트(Fragment)란 액티비티(Activity) 내에서 화면 UI 일부를 나타내는 작은 조각입니다. 프래그먼트는 액티비티와 비슷한 생명주기를 가지며, 액티비티 내에서 여러 개의 프래그먼트를 조합하여 화면을 구성할 수 있습니다.
프래그먼트의 생명주기는 다음과 같습니다.
프래그먼트는 안드로이드에서 화면을 구성하는 중요한 요소 중 하나입니다. 액티비티와 비슷한 생명주기를 가지며, 액티비티 내에서 여러 개의 프래그먼트를 조합하여 다양한 UI를 구성할 수 있습니다.
class ListFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_list, container, false)
}
}
프래그먼트에서 액티비티의 레이아웃을 inflate 하기 위해서는 onCreateView() 메서드에서 LayoutInflater를 사용합니다. 액티비티와 연결된 레이아웃을 inflate 하려면 container 매개변수에 액티비티의 레이아웃을 전달하면 됩니다.
또한, 프래그먼트에서 버튼과 텍스트뷰를 사용하기 위해서는 inflate된 레이아웃의 View 객체를 먼저 가져와야 합니다. 이후 findViewById()를 사용하여 버튼과 텍스트뷰를 찾아와서 사용할 수 있습니다.
아래는 액티비티와 연결된 레이아웃에 텍스트뷰와 버튼을 띄우는 샘플 코드입니다.
class ExampleFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
val view = inflater.inflate(R.layout.fragment_example, container, false)
// TextView와 Button을 찾아온다
val textView = view.findViewById<TextView>(R.id.textview)
val button = view.findViewById<Button>(R.id.button)
// Button 클릭 시 TextView에 텍스트를 추가한다
button.setOnClickListener {
textView.text = "버튼이 클릭되었습니다."
}
return view
}
}
위 코드에서 R.layout.fragment_example은 액티비티와 연결된 레이아웃 파일의 이름입니다. 이를 적절하게 수정해야 합니다.