@foonfyrick

Почему нельзя изменить layout? Фон изменился, вью не вставляются?

Вот такой стал экран:
604b499988a17865986613.png
Я решил сделать 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>

Никакого бэкграунда в нем нет, я думаю, может я папку не удалил, захожу:
604b4b33e1749686349641.png
Я захожу еще 10 раз, все построчно проверяю.
Думаю, может здесь не показывается, захожу в show in Explorer, ничего нету.
Ладно, решил удалить бэкграунд. Пишет - он используется в друх местах.
604b4c0a441cf868832083.png
Но используется фоном для мипмапов.
Фрагменты у меня переключаются через nav_graph, захожу в него:
604b4c8997d80946929360.png
Запускаю эмулятор:
604b4cc3293d1255841988.png
Нажимаю кнопку:
604b4cd94f800454585302.png
Создаю кнопку в 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)
памагити....

Фрагмент голый, весь код спрятан в базовом фрагменте, от которого я наследуюсь, я создал еще несколько фрагментов, все работают, в любом могу хоть сколько вью создать, фон меняется, я сплит экран включал все построчно проверял несколько раз, ну все так же как везде, может я не вижу, может вы на скринах увидите, где ошибка, почему она происходит...
604b5395c536c982859412.png
  • Вопрос задан
  • 15 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы