반응형
ListFragment
- Fragment 내에서 ListView를 사용할 경우 보다 편리하데 구성할 수 있도록 제공되는 프래그먼트
- ListFragment는 자신이 관리하고 있는 뷰 안에 id 가 @android:id/list 로 설정되어 있는 ListView를 자동으로 찾아서 관리
class SubFragment : ListFragment() {
private lateinit var sub_frag_binding: FragmentSubBinding
val data1 = arrayOf("항목1","항목2","항목3","항목4","항목5","항목6","항목7")
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
sub_frag_binding = FragmentSubBinding.inflate(layoutInflater)
val view = sub_frag_binding.root
// 자체적으로 listAdapter 라는 프로퍼티 가짐
listAdapter = ArrayAdapter<String>(activity as MainActivity, android.R.layout.simple_list_item_1, data1)
return view
}
// 리스트뷰의 항목을 터치했을 때 호출되는 메서드 제공
override fun onListItemClick(l: ListView, v: View, position: Int, id: Long) {
super.onListItemClick(l, v, position, id)
// position : 항목 인덱스 번호
sub_frag_binding.textView.text = data1[position]
}
}
[MainActivity.kt]
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater) // 뷰바인딩 객체
val view = binding.root //뷰바인딩을 통해 레이아웃과 뷰가 결합 -> .root 를 통해 View 객체만를 뽑아내는(?)
setContentView(view)
val subFragment = SubFragment()
val tran = supportFragmentManager.beginTransaction()
tran.replace(R.id.container1, subFragment)
tran.commit()
}
반응형
'Android' 카테고리의 다른 글
[안드로이드/Fragment] Fragment Animation (0) | 2023.04.22 |
---|---|
[안드로이드/Fragment] DialogFragment (0) | 2023.04.22 |
[안드로이드/Fragment] Activity Controller (0) | 2023.04.22 |
[안드로이드/Fragment] Fragment 내 View 제어 (0) | 2023.04.21 |
[안드로이드/Fragment] Fragment 생명주기 (1) | 2023.04.21 |