Pra*_*ukh 26 android focus searchview
我想从删除焦点和文本SearchView
在onResume()
.
我试过searchView.clearFocus()
但它不起作用.
这是我的xml代码:
<SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/toolbar"
android:layout_alignTop="@+id/toolbar"
android:layout_centerVertical="true"
android:layout_marginBottom="4dp"
android:layout_marginTop="4dp"
android:iconifiedByDefault="false"
android:paddingLeft="16dp"
android:paddingRight="16dp" />
Run Code Online (Sandbox Code Playgroud)
ear*_*jim 49
我想从删除焦点和文本
SearchView
中onResume()
要做到这一点,你可以设置你的根布局可聚焦与android:focusableInTouchMode
属性,并要求关注那些View
在onResume()
.
例如:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:focusableInTouchMode="true">
<SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:iconifiedByDefault="false"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
然后在你的Activity
:
private View rootView;
private SearchView searchView;
// ...
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
rootView = findViewById(R.id.root_layout);
searchView = (SearchView) findViewById(R.id.search_view);
}
@Override
protected void onResume() {
super.onResume();
searchView.setQuery("", false);
rootView.requestFocus();
}
Run Code Online (Sandbox Code Playgroud)
小智 17
当在活动中转到父布局时,fragment
也在同样的事情中做同样的事情framelayout
.只需添加此属性:
android:focusableInTouchMode="true"
Run Code Online (Sandbox Code Playgroud)
Ced*_*iga 10
在您的 SearchView 小部件中,只需添加
android:focusable="false"
Run Code Online (Sandbox Code Playgroud)
完整的小部件代码
<android.support.v7.widget.SearchView
android:id="@+id/your_search_view_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:iconifiedByDefault="false"
app:queryHint="Search something..."
android:focusable="false" />
Run Code Online (Sandbox Code Playgroud)
在onResume方法中使用这行代码
if (searchView != null) {
searchView.setQuery("", false);
searchView.clearFocus();
searchView.onActionViewCollapsed();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19311 次 |
最近记录: |