実際に別のコンポーネントをラップするカスタム コンポーネントがあります。そのレイアウトは次のとおりです。
<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);
しかし、私は を取得してClassCastException
おり、最初の子はRelativeLayout
!と表示されています。この相対レイアウトのすべての子をトレースしましたが、実際には構成アクティビティにカスタム コンポーネントが含まれるウィジェットのレイアウトです! 簡単なテスト アクティビティでコンポーネントをテストしたところ、すべてが機能しました。
では、なぜそれが起こっているのでしょうか。どうすればよいのでしょうか。ありがとう。