У меня есть фрагмент, и у этого фрагмента есть кнопка (в файле frag_call.xml), которая вызывается с помощью Simple Call Activity.
class SimpleCallActivity : CallFragment.OnCallEvents {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
DataBindingUtil.setContentView<ActivitySimpleCallBinding>(this, R.layout.activity_simple_call).also {
binding = it
}
Activity_simple_call
<FrameLayout
android:id="@+id/call_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
fragment_call
<android.support.design.widget.FloatingActionButton
android:id="@+id/button_call_disconnect"/>
Класс CallFragment
class CallFragment : Fragment() {
interface OnCallEvents {
fun onCallHangUp()
fun onToggleMic(): Boolean
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? =
DataBindingUtil.inflate<FragmentCallBinding>(inflater, R.layout.fragment_call, container, false).also {
...
binding.buttonCallDisconnect.setOnClickListener({
callEvents.onCallHangUp()
})
}
Как я могу получить доступ к этому элементу кнопки из другого класса? Когда я обращаюсь к нему напрямую,
import kotlinx.android.synthetic.main.fragment_call.*
button_call_disconnect.callOnClick();