Как получить доступ к элементу во фрагменте из другого действия - PullRequest
0 голосов
/ 05 января 2019

У меня есть фрагмент, и у этого фрагмента есть кнопка (в файле 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();
...