activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
tools:context=".MainActivity">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listView"/>
</RelativeLayout>
now we use this layout in MainActivity.javaMainActivity.java
package com.example.searchviewexample;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SearchView;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private String[]str={"Android","Java","Python","C++","HTML","Kotlin","CSS","C#","JavaScript","R"};
ArrayAdapter<String>arrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=findViewById(R.id.listView);
arrayAdapter=new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,str);
listView.setAdapter(arrayAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu,menu);
MenuItem menuItem=menu.findItem(R.id.search);
SearchView searchView= (SearchView) menuItem.getActionView();
searchView.setQueryHint("Type hee to search");
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
arrayAdapter.getFilter().filter(newText);
return true;
}
});
return super.onCreateOptionsMenu(menu);
}
}
Here we have used activity_main, in which we have used ListView which we have used in MainActivity.Then we have used an ArrayAdapter in which we have used three parameters context layout and value which is of a string type.Then we will override a method onCreateOptionsMenu in which we have used layout named main_menu whose code is given below.<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/search"
android:icon="@android:drawable/ic_menu_search"
android:title="search"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="ifRoom|collapseActionView" />
</menu>
In onCreateOptionsMenu we will override all methods of SearchView.Thank you
0 Comments
Please do not enter any spam link in the comment box
Emoji