मैं वर्तमान में Jetpack Compose में एक बहुत ही अजीब समस्या का सामना कर रहा हूँ। मैं नेविगेशन कंपोनेंट लाइब्रेरी का उपयोग कर रहा हूं (NavHostFragment में फ्रैगमेंट को होस्ट करना)। कुछ नए Fragments पहले से ही Compose का उपयोग कर रहे हैं, लेकिन मुझे यह दुर्घटना एक दुर्लभ अवसर पर मिलती है। अधिकतर जब नेविगेशन ड्रॉअर का उपयोग करके सेटिंग पृष्ठ पर नेविगेट किया जाता है और नीचे नेविगेशन दृश्य में किसी आइटम पर वापस क्लिक किया जाता है। मैं वर्तमान में जेटपैक कम्पोज अल्फा-12 और नेविगेशन 2.3.0 का उपयोग कर रहा हूं।

(सामान्य व्यूबाइंडिंग का उपयोग करते समय क्रैश नहीं होता है)

https://youtu.be/__pdZmApEfE

@AndroidEntryPoint
class StatisticsFragment : Fragment() {

  override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
  ): View {
    return ComposeView(requireContext()).apply {
      setContent {
        TemporyTheme {
          Text("Hello Compose!")
        }
      }
    }
  }
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout
    ...>

    <RelativeLayout
        ...>

        <RelativeLayout
            ...>

            <com.google.android.material.appbar.MaterialToolbar
                ... />

        </RelativeLayout>

        <!-- NavHost -->
        <androidx.fragment.app.FragmentContainerView
            android:id="@+id/nav_host_fragment"
            android:name="androidx.navigation.fragment.NavHostFragment"
            app:defaultNavHost="true"
            app:navGraph="@navigation/navigation_main"
            ... />

        <com.google.android.material.bottomnavigation.BottomNavigationView
            ... />

    </RelativeLayout>

    <com.google.android.material.navigation.NavigationView
        .../>

</androidx.drawerlayout.widget.DrawerLayout>

java.lang.NullPointerException: Attempt to invoke interface method 'void androidx.compose.runtime.MutableState.setValue(java.lang.Object)' on a null object reference
        at androidx.compose.ui.platform.AndroidComposeView.setLayoutDirection(AndroidComposeView.kt:797)
        at androidx.compose.ui.platform.AndroidComposeView.onRtlPropertiesChanged(AndroidComposeView.kt:724)
        at android.view.View.resolvePadding(View.java:20272)
        at android.view.ViewGroup.resolvePadding(ViewGroup.java:7765)
        at android.view.View.initializeScrollbarsInternal(View.java:6781)
        at android.view.View.<init>(View.java:6112)
        at android.view.ViewGroup.<init>(ViewGroup.java:697)
        at android.view.ViewGroup.<init>(ViewGroup.java:693)
        at android.view.ViewGroup.<init>(ViewGroup.java:689)
        at android.view.ViewGroup.<init>(ViewGroup.java:685)
        at androidx.compose.ui.platform.AndroidComposeView.<init>(AndroidComposeView.kt:116)
        at androidx.compose.ui.platform.WrapperKt.setContent(Wrapper.kt:123)
        at androidx.compose.ui.platform.AbstractComposeView.ensureCompositionCreated(ComposeView.kt:183)
        at androidx.compose.ui.platform.AbstractComposeView.onAttachedToWindow(ComposeView.kt:215)
        at android.view.View.dispatchAttachedToWindow(View.java:20479)
        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3489)
        at android.view.ViewGroup.addViewInner(ViewGroup.java:5278)
        at android.view.ViewGroup.addView(ViewGroup.java:5064)
        at androidx.fragment.app.FragmentContainerView.addView(FragmentContainerView.java:290)
        at android.view.ViewGroup.addView(ViewGroup.java:5004)
        at androidx.fragment.app.FragmentStateManager.addViewToContainer(FragmentStateManager.java:830)
        at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:520)
        at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
        at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2177)
        at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2094)
        at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1990)
        at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7660)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
4
André Ramon 12 फरवरी 2021, 17:18
इस पर कोई भाग्य?
 – 
Kyle
17 फरवरी 2021, 23:30
दुर्भाग्य से नहीं, मैं वर्तमान में बाध्यकारी दृश्य के साथ चिपक रहा हूं और ऐप के पूरी तरह से अलग हिस्सों में केवल रचना का उपयोग करता हूं। उम्मीद है कि यह एक बग है जो बाद में रिलीज में ठीक हो जाएगा।
 – 
André Ramon
18 फरवरी 2021, 00:56
1
मैंने कुछ इसी तरह के लिए एक बग दायर किया। हो सकता है कि आप इसे तारांकित करना चाहें? issuetracker.google.com/issues/181463117
 – 
coltonidle
1 मार्च 2021, 02:58
मैं इसे बीटा -02 के साथ पुनः प्रयास करूंगा ..
 – 
André Ramon
16 मार्च 2021, 23:35
ऐसा लगता है कि बीटा 06 के साथ तय किया गया है
 – 
André Ramon
11 मई 2021, 11:58

1 उत्तर

सबसे बढ़िया उत्तर

रचना के बीटा 06 के साथ त्रुटि दूर हो गई

0
André Ramon 11 मई 2021, 11:59