title: android kotlin view bind IllegalStateException must not be null
body: <p>I have an Android app that is released on the Play Store.</p>
  
  <p>When I check the crash reports, I saw something weird.</p>
  
  <pre><code>import kotlinx.android.synthetic.main.fragment_item.*
  
  class ItemFragment : Fragment() {
      override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                                savedInstanceState: Bundle?): View? = inflater.inflate(R.layout.fragment_item, container, false)
  
      override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
          super.onViewCreated(view, savedInstanceState)
          presenter.getItem(args.item)
      }
  
      override fun onItemLoaded(item: Item) {
          tvDesc.text = item.desc // in here: Exception occurrs
      }
  }
  </code></pre>
  
  <p>And below is my presenter class:</p>
  
  <pre><code>class ItemPresenter(
          private val view: ItemContract.View,
          private val itemsRepository: ItemsRepository,
          private val ioScheduler: Scheduler = Schedulers.io(),
          private val uiScheduler: Scheduler = AndroidSchedulers.mainThread(),
          private val disposable: CompositeDisposable = CompositeDisposable()
  ) : ItemContract.Presenter {
  
      override fun getItem(name: String) {
          disposable.add(
              itemsRepository.getItem(name)
                  .subscribeOn(ioScheduler)
                  .observeOn(uiScheduler)
                  .subscribe {
                      view.onItemLoaded(it)
                  }
          )
      }
  
  }
  </code></pre>
  
  <p>When I run on my phone, it works fine.
  But according to the crash reports, a few devices show the IllegalStateExceptions.</p>
  
  <p>Why?</p>
  
  <p>Should I use old-style binding? like "findViewById"</p>