在布局文件中添加EditText和ImageButton组件,分别表示搜索框和搜索按钮。然后在Activity中定义它们,并设置OnClickListener处理搜索事件。接下来,使用SearchView和SearchManager来实现搜索功能。
参考代码如下:
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/search_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Search"
android:imeOptions="actionSearch"/>
<ImageButton
android:id="@+id/search_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_search_category_default"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
在Activity中定义并设置OnClickListener:
public class SearchActivity extends AppCompatActivity {
private EditText searchEditText;
private ImageButton searchButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
searchEditText = findViewById(R.id.search_edit_text);
searchButton = findViewById(R.id.search_button);
searchButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String query = searchEditText.getText().toString();
//处理搜索事件
使用SearchView和SearchManager实现搜索功能:
public class SearchActivity extends AppCompatActivity {
private EditText searchEditText;
private ImageButton searchButton;
private SearchView searchView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
searchEditText = findViewById(R.id.search_edit_text);
searchButton = findViewById(R.id.search_button);
searchButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String query = searchEditText.getText().toString();
//处理搜索事件
searchView = findViewById(R.id.search_view);
SearchManager searchManager = (