Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.NullPointerException at android.content.res.Resources Theme

Tags:

java

android

My code was working fine but suddenly design is not visible, errors are:-
java.lang.NullPointerException at android.content.res.Resources_Theme_Delegate.obtainStyledAttributes(Resources_Theme_Delegate.java:74) at android.content.res.Resources$Theme.obtainStyledAttributes(Resources.java:1610) at android.content.Context.obtainStyledAttributes(Context.java:817) at android.widget.TextView.setTextAppearance(TextView.java:3910) at androidx.appcompat.widget.AppCompatTextView.setTextAppearance(AppCompatTextView.java:211) at android.widget.TextView.setTextAppearance(TextView.java:3899) at androidx.core.widget.TextViewCompat.setTextAppearance(TextViewCompat.java:289) at com.google.android.material.tabs.TabLayout$TabView.update(TabLayout.java:2745) at com.google.android.material.tabs.TabLayout$TabView.setTab(TabLayout.java:2686) at com.google.android.material.tabs.TabLayout.createTabView(TabLayout.java:1657) at com.google.android.material.tabs.TabLayout.newTab(TabLayout.java:952) at com.google.android.material.tabs.TabLayout.addTabFromItemView(TabLayout.java:820) at com.google.android.material.tabs.TabLayout.addViewInternal(TabLayout.java:1707) at com.google.android.material.tabs.TabLayout.addView(TabLayout.java:1697) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1131) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1130) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1130) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1130) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.inflate(LayoutInflater.java:686) at android.view.LayoutInflater.inflate(LayoutInflater.java:505) at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:363) at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:436) at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:121) at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:741) at com.android.tools.idea.rendering.RenderTask.lambda$inflate$8(RenderTask.java:897) at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$2.run(RenderExecutor.kt:187) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)

like image 396
Saloni Tyagi Avatar asked Nov 19 '25 15:11

Saloni Tyagi


2 Answers

Downgrade material library to: implementation 'com.google.android.material:material:1.7.0'

like image 117
Jonas.S. Avatar answered Nov 21 '25 06:11

Jonas.S.


I had the similar issue because of <com.google.android.material.tabs.TabItem/>. So I removed all the com.google.android.material.tabs.TabItem tags in com.google.android.material.tabs.TabLayout . this solved my rendering issue.

Then I programmatically created the TabItems as,

   private fun initComponents() {
            
    
            val oneFragment = OneFragment()
            val twoFragment = TwoFragment()
            val threeFragment = ThreeFragment()
    
            val adapter = FragmentPagerAdapter(
                childFragmentManager, lifecycle, mutableListOf(
                    oneFragment, twoFragment, threeFragment
                )
            )
    
            binding.viewPager.isSaveEnabled = false
            binding.viewPager.adapter = adapter
            binding.viewPager.currentItem = 0
            TabLayoutMediator(binding.tabLayout, binding.viewPager) { tab, position ->
                when (position) {
                    0 -> {
                        tab.text = getString(R.string.one)
                    }
                    1 -> {
                        tab.text = getString(R.string.two)
                    }
                    2 -> {
                        tab.text = getString(R.string.three)
                    }
                }
    
            }.attach()
            
    
        }

Page Adapter

class FragmentPagerAdapter(
    @NonNull fragmentManager: FragmentManager,
    @NonNull lifecycle: Lifecycle,
    var mFragmentList: MutableList<Fragment>
) : FragmentStateAdapter(fragmentManager, lifecycle) {
    override fun getItemCount(): Int {
        return mFragmentList.size
    }

    override fun createFragment(position: Int): Fragment {
        return mFragmentList[position]
    }
}

Then XML

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


           
            <com.google.android.material.tabs.TabLayout
                android:id="@+id/tabLayout"
                android:layout_width="0dp"
                android:layout_height="50dp"
                android:layout_marginStart="25dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="25dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="parent"
                tools:ignore="ContentDescription" />

            <androidx.viewpager2.widget.ViewPager2
                android:id="@+id/viewPager"
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="@+id/tabLayout"
                app:layout_constraintStart_toStartOf="@+id/tabLayout"
                app:layout_constraintTop_toBottomOf="@+id/tabLayout" />
        </androidx.constraintlayout.widget.ConstraintLayout>
like image 44
Nadun Priyankarage Avatar answered Nov 21 '25 05:11

Nadun Priyankarage



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!