serachview的功能和用法

serachview的功能和用法

searchview是搜索框组件,可以让用户子在文本框内输入文字,并允许通过监听器监控用户输入,当用户输入完成提交搜索时,也可通过监听器执行实际搜索

public class MainActivity extends Activity {

    private SearchView sv;

    private ListView lv;

    //自动完成列表

    private final String[] str = new String[]{

            "mia", "love mia", "miss mia", "010802"

    };


    @Override

    protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.searchview);

        lv = findViewById(R.id.lv);

        lv.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, str));

        //设置listview启用过滤

        lv.setTextFilterEnabled(true);

        sv = findViewById(R.id.searchview);

        //设置searchview默认是否自动缩小为图标

        sv.setIconifiedByDefault(false);

        //设置serarchview显示搜索按钮

        sv.setSubmitButtonEnabled(true);

        //设置searchview内默认显示的提示文本

        sv.setQueryHint("查找");

        //为searchview添加监听器

        sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            //用户搜索按钮时激发该方法

            @Override

            public boolean onQueryTextSubmit(String query) {

                //实际应用中应该在该方法内执行实际查询

                //此处仅使用toast显示用户输入的查询内容

                Toast.makeText(MainActivity.this, "你的选择是" + query, Toast.LENGTH_LONG);

                return true;

            }


            //用户输入字符时激发该方法

            @Override

            public boolean onQueryTextChange(String newText) {

                //如果nexttext不是长度为0的字符串

                if (TextUtils.isEmpty(newText)) {

                    //清楚listview过滤

                    lv.clearTextFilter();

                } else {

                    //让用户输入内容对listview的列表项进行过滤

                    lv.setFilterText(newText);

                }

                return true;

            }

        });

    }

}

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical">


   

   

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/searchview"

        />

   

   

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="1"

        android:id="@+id/lv"/>


你可能感兴趣的:(serachview的功能和用法)