Вот такой стал экран:
Я решил сделать 2 лэйаута для разных размеров экрана, я создал папку layout-xxxhdpi
скопировал обычный лэйаут из папки layout, и сменил в нем фон на зеленый. Запустил эмулятор с большим разрешением и экран стал зеленым, я думаю, ладно, все работает как надо, запускаю другой эмулятор с маленьким экраном, он тоже зеленый... Я решил разобраться почему, удалил папку layout-xxxhdpi, удалил вместе с лэйотуом, запускаю опять эмулятор, опять зеленый фон, я захожу в xml файл и вот что в нем находится:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.view.fragments.MainFragment">
</androidx.constraintlayout.widget.ConstraintLayout>
Никакого бэкграунда в нем нет, я думаю, может я папку не удалил, захожу:
Я захожу еще 10 раз, все построчно проверяю.
Думаю, может здесь не показывается, захожу в show in Explorer, ничего нету.
Ладно, решил удалить бэкграунд. Пишет - он используется в друх местах.
Но используется фоном для мипмапов.
Фрагменты у меня переключаются через nav_graph, захожу в него:
Запускаю эмулятор:
Нажимаю кнопку:
Создаю кнопку в fragment_main(активити, в котором магический зеленый фон):
Пишет в логах:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.skeletmvp, PID: 2310
java.lang.NullPointerException: Missing required view with ID: com.example.skeletmvp:id/button2
at com.example.skeletmvp.databinding.FragmentMainBinding.bind(FragmentMainBinding.java:65)
at com.example.skeletmvp.databinding.FragmentMainBinding.inflate(FragmentMainBinding.java:47)
at com.example.skeletmvp.ui.view.fragments.MainFragment$bindingInflater$1.invoke(MainFragment.kt:12)
at com.example.skeletmvp.ui.view.fragments.MainFragment$bindingInflater$1.invoke(MainFragment.kt:10)
at com.example.skeletmvp.ui.view.fragments.BaseFragment.onCreateView(BaseFragment.kt:23)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2698)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:320)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1187)
at androidx.fragment.app.FragmentManager.addAddedFragments(FragmentManager.java:2224)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1997)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1953)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1849)
at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:413)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
памагити....
Фрагмент голый, весь код спрятан в базовом фрагменте, от которого я наследуюсь, я создал еще несколько фрагментов, все работают, в любом могу хоть сколько вью создать, фон меняется, я сплит экран включал все построчно проверял несколько раз, ну все так же как везде, может я не вижу, может вы на скринах увидите, где ошибка, почему она происходит...