无法访问 class 'android.widget.fragment'。检查您的模块 classpath 是否缺少或冲突的依赖项
Cannot access class 'android.widget.fragment'. Check your module classpath for missing or conflicting dependencies
我有片段,里面有子片段。我无法使用绑定 cos 从父片段访问它会产生编译错误。我喜欢这样:
从父片段,我做了:
val fragment = binding.calculatorSheetHome // calculatorSheetHome is fragment id
但是编译错误说,
Cannot access class 'android.widget.fragment'. Check your module classpath for missing or conflicting dependencies
这是父片段布局代码,我正在尝试访问 calculator_sheet_home
<variable
name="mLanguage"
type="com.hamidjonhamidov.calculator.model.room.LanguageM" />
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/coordinator_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutFullscreen="@{true}">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="@dimen/grid_0_25"
app:paddingBottomSystemWindowInsets="@{true}"
app:paddingTopSystemWindowInsets="@{true}"
android:clipToPadding="false">
// ...
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<fragment
android:id="@+id/calculator_sheet_home"
android:name="com.hamidjonhamidov.calculator.ui.main.home.calculator_sheet_home.CalculatorSheetFragmentHome"
android:layout_width="match_parent"
android:layout_height="match_parent" />
片段不是“视图”,因此您无法像传统视图那样访问它。但是,您可以像这样通过片段标签访问它:
<fragment
android:id="@+id/calculator_sheet_home"
android:name="com.hamidjonhamidov.calculator.ui.main.home.calculator_sheet_home.CalculatorSheetFragmentHome"
android:tag="fragment_sheet_home" // add this line
android:layout_width="match_parent"
android:layout_height="match_parent" />
现在您可以从父片段执行此操作:
val childFragment = childFragmentManager.findFragmentByTag("fragment_sheet_home") as? CalculatorSheetFragmentHome ?: return
现在,您可以出于任何原因使用您的片段)
这为我解决了,注意我使用的是底部导航和视图绑定
val childFragment = supportFragmentManager.findFragmentByTag("fragment_sheet_home") as? NavHostFragment
我有片段,里面有子片段。我无法使用绑定 cos 从父片段访问它会产生编译错误。我喜欢这样:
从父片段,我做了:
val fragment = binding.calculatorSheetHome // calculatorSheetHome is fragment id
但是编译错误说,
Cannot access class 'android.widget.fragment'. Check your module classpath for missing or conflicting dependencies
这是父片段布局代码,我正在尝试访问
calculator_sheet_home
<variable name="mLanguage" type="com.hamidjonhamidov.calculator.model.room.LanguageM" />
<androidx.coordinatorlayout.widget.CoordinatorLayout android:id="@+id/coordinator_layout" android:layout_width="match_parent" android:layout_height="match_parent" app:layoutFullscreen="@{true}"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingTop="@dimen/grid_0_25" app:paddingBottomSystemWindowInsets="@{true}" app:paddingTopSystemWindowInsets="@{true}" android:clipToPadding="false"> // ... </androidx.coordinatorlayout.widget.CoordinatorLayout> <fragment android:id="@+id/calculator_sheet_home" android:name="com.hamidjonhamidov.calculator.ui.main.home.calculator_sheet_home.CalculatorSheetFragmentHome" android:layout_width="match_parent" android:layout_height="match_parent" />
片段不是“视图”,因此您无法像传统视图那样访问它。但是,您可以像这样通过片段标签访问它:
<fragment
android:id="@+id/calculator_sheet_home"
android:name="com.hamidjonhamidov.calculator.ui.main.home.calculator_sheet_home.CalculatorSheetFragmentHome"
android:tag="fragment_sheet_home" // add this line
android:layout_width="match_parent"
android:layout_height="match_parent" />
现在您可以从父片段执行此操作:
val childFragment = childFragmentManager.findFragmentByTag("fragment_sheet_home") as? CalculatorSheetFragmentHome ?: return
现在,您可以出于任何原因使用您的片段)
这为我解决了,注意我使用的是底部导航和视图绑定
val childFragment = supportFragmentManager.findFragmentByTag("fragment_sheet_home") as? NavHostFragment