com.google.android.material.textview.MaterialTextView 无法转换为 android.widget.EditText
com.google.android.material.textview.MaterialTextView cannot be cast to android.widget.EditText
将 EditText 放入 AppBarLayout 会引发异常。
这是我的布局。
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/toolbar_included"
layout="@layout/toolbar"
app:layout_scrollFlags="scroll|enterAlways" />
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:contentDescription="@null"
app:adSize="BANNER"
app:adUnitId="@string/adUnitIdTest_Banner"
app:layout_scrollFlags="noScroll" />
<EditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusableInTouchMode="true"
android:hint="@string/title_hint"
android:importantForAutofill="no"
android:inputType="textCapWords"
android:selectAllOnFocus="true"
android:textSize="15sp"
app:fontFamily="@font/raleway_regular" />
</com.google.android.material.appbar.AppBarLayout>
启动 activity 时出现以下异常:
Caused by: java.lang.ClassCastException: com.google.android.material.textview.MaterialTextView cannot be cast to android.widget.EditText
viewBiding 是真实的。
我不知道异常指的是哪个 MaterialTextView。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityWorkoutBinding.inflate(layoutInflater)
setContentView(binding.root)
第 binding = ActivityWorkoutBinding.inflate(layoutInflater)
行抛出异常。
此致
我刚刚弄明白了。 AppBarLayout 似乎有一个内置的 TextView,id 为 title
。我将我的 EditText 中的 ID 从 title
更改为其他内容并且有效。
将 EditText 放入 AppBarLayout 会引发异常。 这是我的布局。
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/toolbar_included"
layout="@layout/toolbar"
app:layout_scrollFlags="scroll|enterAlways" />
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:contentDescription="@null"
app:adSize="BANNER"
app:adUnitId="@string/adUnitIdTest_Banner"
app:layout_scrollFlags="noScroll" />
<EditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusableInTouchMode="true"
android:hint="@string/title_hint"
android:importantForAutofill="no"
android:inputType="textCapWords"
android:selectAllOnFocus="true"
android:textSize="15sp"
app:fontFamily="@font/raleway_regular" />
</com.google.android.material.appbar.AppBarLayout>
启动 activity 时出现以下异常:
Caused by: java.lang.ClassCastException: com.google.android.material.textview.MaterialTextView cannot be cast to android.widget.EditText
viewBiding 是真实的。 我不知道异常指的是哪个 MaterialTextView。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityWorkoutBinding.inflate(layoutInflater)
setContentView(binding.root)
第 binding = ActivityWorkoutBinding.inflate(layoutInflater)
行抛出异常。
此致
我刚刚弄明白了。 AppBarLayout 似乎有一个内置的 TextView,id 为 title
。我将我的 EditText 中的 ID 从 title
更改为其他内容并且有效。