私はこのようなレイアウトを持っています:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/border_selector"
android:orientation="vertical"
android:focusable="true" >
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:indeterminateDrawable="@drawable/custom_progress_bar"
android:visibility="gone" />
<AutoCompleteTextView
android:id="@+id/autoComplete"
android:layout_width="fill_parent"
android:layout_height="48dp"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/progressBar1"
android:background="@android:color/transparent"
android:gravity="center_vertical" />
</RelativeLayout>
親レイアウトのborder_selector
a はどこにありますか。selector
インナーチャイルドAutoCompleteTextView
には背景や境界線がありません。したがって、このAutoCompleteTextView
フォーカスでは、セレクターが機能するように親にもフォーカスを当てたいと思います。
私はこれを試しました(うまくいきませんでした。うまくいったとしても、これは良い解決策ではないと思います):
autoComplete.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
parent.requestFocus();
}else{
parent.clearFocus();
}
}
});