class BlankFragment1 : Fragment() { // TODO: Rename and change types of parameters private var param1: String? = null private var param2: String? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) arguments?.let { param1 = it.getString(ARG_PARAM1) param2 = it.getString(ARG_PARAM2) } } private val TAG = BlankFragment1::class.java.simpleName private lateinit var binding : FragmentBlank1Binding private lateinit var viewModel: MainActivityViewModel override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { Log.e(TAG, "onCreateView") binding = DataBindingUtil.inflate(inflater, R.layout.fragment_blank1, container, false) binding.button.setOnClickListener { it.findNavController().navigate(R.id.action_blankFragment1_to_blankFragment2) } viewModel = ViewModelProvider(activity as MainActivity)[MainActivityViewModel::class.java] binding.textView2.text = viewModel.getCurrentCount().toString() binding.button2.setOnClickListener { binding.textView2.text = viewModel.getUpdatedCount().toString() } return binding.root } 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 BlankFragment1. */ // TODO: Rename and change types and number of parameters @JvmStatic fun newInstance(param1: String, param2: String) = BlankFragment1().apply { arguments = Bundle().apply { putString(ARG_PARAM1, param1) putString(ARG_PARAM2, param2) } } } }