我的当前应用程序遇到了大问题。当搜索视图扩展时,似乎不可能通过后退按钮实施某些操作。我试过各种类似onBackPressed()或boolean onKeyDown的方法。没有任何效果。我也尝试了清单上的android:parentActivity,没有结果。
你知道吗?问题是,每次我按下放大镜以启动搜索视图时,后退按钮都不再工作,直到我手动关闭搜索视图。这是我的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Indica el layout (pantalla) de esta activity, clase.
setContentView(R.layout.activity_pantalla_principal_administrar);
searchview = (SearchView) findViewById(R.id.searchView);
searchview.setOnClickListener(this);
然后我尝试了这两种方式
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) { //MEJORAR ESTO
if (keyCode == KeyEvent.KEYCODE_BACK) {
searchview.onActionViewCollapsed();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressed(){
if (!this.searchview.isIconified()) {
searchview.onActionViewCollapsed();
invalidateOptionsMenu();
} else {
super.onBackPressed();
}
}
最后这里是xml片段
<SearchView
android:layout_width="match_parent"
android:layout_height="63dp"
android:id="@+id/searchView"
android:queryHint="Servicio"
android:iconifiedByDefault="true"
android:backgroundTint="@color/Negro"
android:layout_marginRight="0dp"
android:clickable="true" />
答案 0 :(得分:0)
奇怪,您的keydown实现看起来像这样?
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
if (!this.searchview.isIconified()) {
searchview.onActionViewCollapsed();
invalidateOptionsMenu();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 1 :(得分:0)
这是包含searchview的layout.xml。
&GT;
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.05"
android:weightSum="1">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/bombillaImage"
android:src="@drawable/bombilla"
android:layout_marginTop="0dp" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="211dp"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/bombillaImage"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/ayudaButton"
android:layout_toStartOf="@+id/ayudaButton"
android:layout_above="@+id/passwordList"
android:id="@+id/linearLayout6"
android:backgroundTint="@color/Negro"
android:clickable="true">
<SearchView
android:layout_width="match_parent"
android:layout_height="63dp"
android:id="@+id/searchView"
android:queryHint="Servicio"
android:iconifiedByDefault="true"
android:backgroundTint="@color/Negro"
android:layout_marginRight="0dp"
android:clickable="true" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/scrollView"
android:layout_alignEnd="@+id/scrollView"
android:gravity="right">
<ImageButton
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/ayudaButton"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:adjustViewBounds="false"
android:clickable="true"
android:longClickable="true"
android:scaleType="centerInside"
android:background="@drawable/ayudabuttonbackground"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Ayuda."
android:id="@+id/textView6"
android:textSize="8dp"
android:textStyle="italic"
android:textColor="#ff000000"
android:layout_below="@+id/ayudaButton"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="17dp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="340dp"
android:layout_marginTop="10dp"
android:layout_weight="1.15">
<ListView
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:id="@+id/passwordList"
android:scrollbars="vertical"
android:scrollbarStyle="outsideOverlay"
android:visibility="visible"
tools:listitem="@android:layout/simple_list_item_1"
android:layout_below="@+id/textView6"
android:layout_above="@+id/salirListaButton"
android:layout_gravity="center_vertical" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="43dp"
android:layout_marginBottom="5dp">
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SALIR"
android:id="@+id/salirListaButton"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_gravity="right" />
</LinearLayout>
</LinearLayout>
</ScrollView>