Kotlinx inyecta vista desde el layout incorrecto

Tengo un código que comtesting si la vista es visible

import kotlinx.android.synthetic.main.activity_layout.* val isOverflowPanelShown: Boolean get() = overflow_panel.visibility != View.GONE 

el código anterior arroja una exception

 java.lang.ClassCastException: android.widget.FrameLayout cannot be cast to android.widget.ScrollView at com.company.app.Activity.isOverflowPanelShown(Activity.kt:362) 

La vista es una instancia de la class ScrollView , sin embargo, kotlin piensa que es un FrameLayout . Al llamar a findViewById () en el mismo lugar donde se arrojó el error, se devuelve ScrollView. Encontré que en el layout diferente en la aplicación hay un FrameLayout bajo la misma identificación .

Estoy inflando el siguiente layout

activity_layout

 <ScrollView android:id="@+id/overflow_panel" android:layout_width="300dp" android:layout_height="wrap_content" /> 

En otro layout que uso en un lugar completamente diferente, hay una vista diferente con el mismo ID.

form_component_main

 <FrameLayout android:id="@+id/overflow_panel" android:layout_width="250dp" android:layout_height="wrap_content" /> 

¿Por qué no les das identificaciones diferentes?

 overflow_panel_scroll overflow_panel_frame 

O algo más descriptivo de lo que realmente hacen.

ACTUALIZACIÓN: Un poco más de explicación, ya que esto fue votado. Los ID deben ser únicos.

La documentation de Android dice que puede haber conflictos si las ID no son únicas: An ID need not be unique throughout the entire tree, but it should be unique within the part of the tree you are searching (which may often be the entire tree, so it's best to be completely unique when possible). (de http://developer.android.com/guide/topics/ui/declaring-layout.html )

Los sintéticos Kotlin son producidos por un plugin IntelliJ. Sin los ID únicos, parece que el complemento actualmente no puede coincidir correctamente con el ID a la vista correcta. Puede estar esperando identificaciones únicas.

  • El tipo Out-Projected 'ArrayList <*>' prohíbe el uso de 'public fun fun add (índice: Int, elemento: E): Unidad definida en java.util.ArrayList'
  • El conflicto de las properties sintéticas de Kotlin
  • Dagger2 no genera classs Dagger
  • Este tipo tiene un constructor y debe ser inicializado aquí - Kotlin
  • La biblioteca de Android no puede comstackr kotlin
  • Base de datos de android de Kotlin: no se puede convertir java.lang.String en android.database.Cursor
  • NullPointerException en android.support.v4.app.NotificationCompatBase $ Action.getIcon ()
  • Cómo pasar object personalizado a través de bash en kotlin
  • Android Kotlin: java.lang.NoClassDefFoundError: Resolución fallida de: <KotlinObject>
  • Kotlin sintético en adaptador o ViewHolder
  • Cómo agregar funcionalidad +/- a un butting en Android kotlin