私はsearchview
の後ろにある白いlayout
が押されたときにonActionViewExpanded()
を呼び出す必要がありますsearchview
ためカスタムコントロールを作ってるんだをクリックして応答していません。その後、別のlayout
が表示され、クリックするとonActionViewCollapsed()
が呼び出されます。問題は、クリックしたときに白いレイアウトが反応していないことです。ここでレイアウトは、イベント
はXML
次のとおりです。ここで
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/whiteLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:clickable="true"
android:visibility="visible">
<android.support.v7.widget.SearchView
android:id="@+id/customSearchView"
style="@style/SearchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:duplicateParentState="true"
android:tag="6C45CC26-CB9E-4497-B6E6-6CF725E0C47F"
android:visibility="visible"/>
</RelativeLayout>
<FrameLayout
android:id="@+id/backgroundLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B3000000"
android:visibility="gone"/>
</RelativeLayout>
は、Javaコードです:
public class CustomSearchView extends FrameLayout{
CustomSearchViewBinding mBinding;
public CustomSearchView(Context context, AttributeSet attrs) {
super(context, attrs);
mBinding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.custom_search_view, this, true);
mBinding.whiteLayout.setOnClickListener(SearchViewOnClickListener);
mBinding.backgroundLayout.setOnClickListener(LayoutListener);
}
View.OnClickListener SearchViewOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
mBinding.customSearchView.onActionViewExpanded();
mBinding.backgroundLayout.setVisibility(View.VISIBLE);
}
};
View.OnClickListener LayoutListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
mBinding.customSearchView.onActionViewCollapsed();
mBinding.backgroundLayout.setVisibility(View.GONE);
}
};
すべてのヘルプは高く評価されます。
レイアウトでは、カスタム 'CustomSearchView'クラスを使用していません。 – sJy
申し訳ありませんが、投稿を投稿しました。 –