I am new in android, and I try to use the view binding for my app, there is not any mistake on my code, but after running, it is crashed, when I look at the Logcat , there is not any info about crash there is only one info about
internal inner class MenuAdapter(context: MyFragment
as a
Parameter 'context' is never used, any idea?
class MyFragment : Fragment() {
private var _binding: MyFragment? = null
private val binding get() = _binding!!
private var mTitle = arrayOf("menu1", "menu2", "menu3", "menu4", "menu5")
private var images = intArrayOf(R.drawable.ic_menu1,
R.drawable.ic_menu2,
R.drawable.ic_menu3,
R.drawable.ic_menu4,
R.drawable.ic_menu5)
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
_binding = MyFragment.inflate(inflater, container, false)
val listView: ListView = binding.listViewMenu
val adapter = MenuAdapter(this, mTitle, images)
listView.adapter = adapter
listView.onItemClickListener = AdapterView.OnItemClickListener { _, _, position, _ ->
if (position == 0) {
val intent = Intent(this.context, Menu1::class.java)
startActivity(intent)
}
if (position == 1) {
val intent = Intent(this.context, Menu2::class.java)
startActivity(intent)
}
if (position == 2) {
val intent = Intent(this.context, Menu3::class.java)
startActivity(intent)
}
if (position == 3) {
val intent = Intent(this.context, Menu4::class.java)
startActivity(intent)
}
if (position == 4) {
val intent = Intent(this.context, Menu5::class.java)
startActivity(intent)
}
}
return binding.root
}
internal inner class MenuAdapter(context: MyFragment,
private var rTitle: Array<String>,
private var rImgs: IntArray) : ArrayAdapter<String?>(requireContext(),
R.layout.row_menu,
R.id.textViewMenu, rTitle) {
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
val layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
val menuRow = RowMenuBinding.inflate(layoutInflater, parent, false)
val images = menuRow.imageMenu
val myTitle = menuRow.textViewMenu
images.setImageResource(rImgs[position])
myTitle.text = rTitle[position]
return binding.root
}}}