I have a MainActivity on which fragments are switched using BottomNavigationView. There is a spinner on the main fragment, which contains 2 items.
the problem is that an error occurs when returning again: Parameter specified as non-null is null: method com.example.helper1.HomeFragment$createSpinner$1.onItemSelected, parameter view
class HomeFragment : Fragment(){
private lateinit var binding: FragmentHomeBinding
var data: Array<String> = arrayOf("Мероприятие", "Задачу")
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = FragmentHomeBinding.inflate(inflater)
createSpinner()
return binding.root
}
private fun createSpinner(){
val adapter: ArrayAdapter<String> =
ArrayAdapter<String>(
(activity as MainActivity).getContext(),
R.layout.simple_spinner_item,
data)
adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item)
val spinner = binding.spinner
spinner.adapter = adapter
spinner.setSelection(1)
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(
parent: AdapterView<*>,
view: View,
position: Int,
id: Long
) {
if(position== 0){
binding.InputBar.visibility = View.VISIBLE
} else{
binding.InputBar.visibility = View.GONE
}
}
override fun onNothingSelected(arg0: AdapterView<*>) {}
}
}
companion object {
@JvmStatic
fun newInstance() = HomeFragment()
}
}
but I can’t figure out why view is null in any way.
New contributor
tumannick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1