Breaking News Layout
Learn to connect the reusable layout with the breaking news fragment xml file.
We'll cover the following...
The BreakingNewsFragment
class
Create a new empty fragment and name it BreakingNewsFragment
, and the layout will be created automatically.We’ll need to make some changes to the class file to reduce some boilerplate code. Below is the initial class that will be created before we start making changes.
Press + to interact
package com.example.ui.fragmentsimport android.os.Bundleimport androidx.fragment.app.Fragmentimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport com.example.newsapplication.R// TODO: Rename parameter arguments, choose names that match// the fragment initialization parameters, e.g. ARG_ITEM_NUMBERprivate const val ARG_PARAM1 = "param1"private const val ARG_PARAM2 = "param2"/*** A simple [Fragment] subclass.* Use the [BreakingNewsFragment.newInstance] factory method to* create an instance of this fragment.*/class BreakingNewsFragment : Fragment() {// TODO: Rename and change types of parametersprivate var param1: String? = nullprivate var param2: String? = nulloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)arguments?.let {param1 = it.getString(ARG_PARAM1)param2 = it.getString(ARG_PARAM2)}}override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_breaking_news, container, false)}companion object {/*** Use this factory method to create a new instance of* this fragment using the provided parameters.** @param param1 Parameter 1.* @param param2 Parameter 2.* @return A new instance of fragment BreakingNewsFragment.*/// TODO: Rename and change types and number of parameters@JvmStaticfun newInstance(param1: String, param2: String) =BreakingNewsFragment().apply {arguments = Bundle().apply {putString(ARG_PARAM1, param1)putString(ARG_PARAM2, param2)}}}}
When we create a fragment, it comes with unnecessary boilerplate code that we don’t need. For the sake of comprehension, we’ll change some parts of the code.
Cleaning up our code
Before androidx
, we were using the onCreateView
...