Используйте DataBinding из Fragment для доступа к представлениям в его Activity - PullRequest
0 голосов
/ 02 июня 2019

Я использую фрагмент внутри действия и использую привязку данных, чтобы связать его макет как для действия, так и для фрагмента, как показано ниже:

activity.xml

<?xml version="1.0" encoding="utf-8"?>

<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">

<androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@id/FAB_fromHomeActivity_BottomAppBarAttached"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_add_dark"
            android:backgroundTint="@color/colorAccent"
            app:layout_anchor="@id/BottomAppBar_fromHomeActivity_Main"/>


</androidx.constraintlayout.widget.ConstraintLayout>

</layout>

activity.kt

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    mBinding = DataBindingUtil.setContentView(this, R.layout.activity)

}

fragment.kt

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

        // Inflate the layout for this fragment
        mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_goals, container, false)

        return mBinding.root
    }

Есть ли способ получить доступ к FAB в активности, используя привязку во фрагменте? (Например, что-то подобное mBinding.parent.FAB)

Я не могу найти информацию об этом. Кто-нибудь может помочь?

...