본문 바로가기
안드로이드/Fragment

안드로이드 ListFragment

by 김어찐 2022. 6. 17.
728x90

Fragment 내에 ListView를 사용할 경우 보다 편리하게 구성할 수 있도록 제공되는 Fragment 이다.
ListView의 id가 @android:id/list로 설정되어 있을 경우 자동으로 ListView를 찾아 관리하게 된다.

 

package com.example.listfragment

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val subFragment = SubFragment()
        val tran = supportFragmentManager.beginTransaction()
        tran.replace(R.id.container1,subFragment)
        tran.commit()
    }
}

 

 

package com.example.listfragment

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.ListView
import androidx.fragment.app.ListFragment
import kotlinx.android.synthetic.main.fragment_sub.*

class SubFragment : ListFragment() {

    val data1 = arrayOf(
        "항목1","항목2","항목3","항목4","항목5","항목6",
    )

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {

        val view = inflater.inflate(R.layout.fragment_sub,null)

        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)

        sub_text1.text = data1[position]
    }

}

fragment_sub.xml

728x90