I am getting null pointers (sometimes) on views within fragments using synthetic.
I do not know what is wrong because I am declaring the fragments in XML and I think that when I call the populate method from the Activity, the root view is already created
Anyway, I do not believe is correct check this each time I call the populate...
I write an example code of what happens (the null pointer would be on tv):
The fragment:
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.fragment_foo.*
class FooFragment : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(R.layout.fragment_foo, container, false)
    }
    fun populate(fooName: String) {
        tv.text = fooName
    }
}
And the XML related within the XML of the Activity related
<fragment
android:id="@+id/fFoo"
android:name="com.foo.FooFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_foo"/>
This would the Activity related:
class FooActivity : AppCompatActivity() {
    private lateinit var fooFragment: FooFragment
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_foo)
        fooFragment = fFoo as FooFragment
    }
    private fun loadDataProductionInfo(productionId: Long) {
        FooAPIParser().getFoo {
            initFoo(it.fooName)
        }
    }
    private fun initFoo(fooName: String) {
        fooFragment.populate(fooName)
    }
}
And finally the XML of the specific fragment:
 <androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
        <TextView
            android:id="@+id/tvFoo"
            style="@style/Tv"/>
</androidx.constraintlayout.widget.ConstraintLayout>
 
    