Нужно установить при активации, смене фрагмента свой для каждого фрагмента текст в textview, которое находится в toolbar'e активити.
В MainActivity (в конце):
Код:
fun fragmentTitle(ft: String) {
binding.tvFragmentName.text = ft
}
В FirstFragment (в onViewCreated):
Код:
(activity as MainActivity).fragmentTitle("титл")
Но приложение просто не запускается или вылетает. Хотя ошибок в коде АндроидСтудио не показывает.
Лог:
Код:
--------- beginning of crash
2022-07-10 03:25:51.733 14693-14693/ru.jurvrn.sid E/AndroidRuntime: FATAL EXCEPTION: main
Process: ru.jurvrn.sid, PID: 14693
java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.jurvrn.sid/ru.jurvrn.sid.MainActivity}: android.view.InflateException: Binary XML file line #41 in ru.jurvrn.sid:layout/activity_main: Binary XML file line #9 in ru.jurvrn.sid:layout/content_main: Error inflating class fragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: android.view.InflateException: Binary XML file line #41 in ru.jurvrn.sid:layout/activity_main: Binary XML file line #9 in ru.jurvrn.sid:layout/content_main: Error inflating class fragment
Caused by: android.view.InflateException: Binary XML file line #9 in ru.jurvrn.sid:layout/content_main: Error inflating class fragment
Caused by: kotlin.UninitializedPropertyAccessException: lateinit property binding has not been initialized
at ru.jurvrn.sid.MainActivity.getBinding(MainActivity.kt:32)
at ru.jurvrn.sid.MainActivity.fragmentTitle(MainActivity.kt:100)
at ru.jurvrn.sid.FirstFragment.onViewCreated(FirstFragment.kt:66)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2985)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:532)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:259)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:113)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1327)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2757)
at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:2693)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2986)
at androidx.fragment.app.FragmentStateManager.ensureInflatedView(FragmentStateManager.java:375)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:258)
at androidx.fragment.app.FragmentLayoutInflaterFactory.onCreateView(FragmentLayoutInflaterFactory.java:142)
at androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:135)
at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:295)
at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:274)
at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1069)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:997)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1263)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1119)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
at ru.jurvrn.sid.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:76)
at ru.jurvrn.sid.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:70)
2022-07-10 03:25:51.733 14693-14693/ru.jurvrn.sid E/AndroidRuntime: at ru.jurvrn.sid.MainActivity.onCreate(MainActivity.kt:40)
at android.app.Activity.performCreate(Activity.java:7802)
at android.app.Activity.performCreate(Activity.java:7791)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
2022-07-10 03:25:51.743 14693-14693/ru.jurvrn.sid I/Process: Sending signal. PID: 14693 SIG: 9