Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ListFragment : Fragment() {
- private lateinit var books : Array<Book>
- private lateinit var recyclerView: RecyclerView
- private lateinit var viewAdapter: RecyclerView.Adapter<*>
- private lateinit var viewManager: RecyclerView.LayoutManager
- private lateinit var listener: BookOnClickListener
- companion object {
- fun newInstance(book : Array<Book>) : ListFragment{
- val myFragment = ListFragment()
- val args = Bundle()
- args.putParcelableArray("books", book)
- myFragment.arguments = (args)
- return myFragment
- }
- }
- override fun onAttach(context: Context?) {
- super.onAttach(context)
- listener= context as BookOnClickListener
- }
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- val view = inflater.inflate(R.layout.list_fragment, container, false)
- books = arguments?.getParcelableArray("books") as Array<Book>
- viewManager = LinearLayoutManager(context)
- viewAdapter = BookListAdapter(books, listener::onClick)
- recyclerView = view.findViewById<RecyclerView>(R.id.recyclerView).apply {
- // use this setting to improve performance if you know that changes
- // in content do not change the layout size of the RecyclerView
- setHasFixedSize(true)
- // use a linear layout manager
- layoutManager = viewManager
- // specify an viewAdapter (see also next example)
- adapter = viewAdapter
- }
- return view
- }
- override fun onActivityCreated(savedInstanceState: Bundle?) {
- super.onActivityCreated(savedInstanceState)
- }
- interface BookOnClickListener {
- fun onClick(book: Book)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement