我有一个自定义组件,它实际上包装了另一个组件。它的布局是:
<AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@drawable/text_view_background" android:textCursorDrawable="@null"
android:textColor="@android:color/black" android:inputType="textNoSuggestions"
android:paddingLeft="7dp"/>
在组件的代码中,我试图对其进行膨胀:
inflate(context,R.layout.results_auto_complete,this);
resultsAutoComplete=(AutoCompleteTextView)getChildAt(0);
但我得到 a ClassCastException
,它说第一个孩子是 a RelativeLayout
!我跟踪了这个相对布局的所有孩子,它实际上是小部件的布局,其配置活动包含我的自定义组件!当我用一个简单的测试活动测试组件时,一切正常!
那么为什么会发生这种情况,我能做些什么呢?谢谢。