首页 > 解决方案 > 强制在android的searchview中将第一个单词写为大写

问题描述

我有这个代码,但它都是上限有什么解决方案吗?我需要第一个词作为上限,其余的作为下限

 @Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
    inflater.inflate(R.menu.about_us_menu,menu);
    MenuItem menuItem = menu.findItem(R.id.search);
    SearchView searchView = (SearchView) menuItem.getActionView();
    searchView.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
    searchView.setQueryHint("Search here...");

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            processsearch(s);
            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            processsearch(s);
            return false;
        }
    });
    super.onCreateOptionsMenu(menu, inflater);
}

标签: javaandroid

解决方案


以下方法将检查字符串,如果它的长度大于 0 并且第一个字符是字母,那么它将大写:

String search = "sometext to search";
if(search.length() > 0 && Character.isAlphabetic(search.charAt(0))) {
    search = String.valueOf(Character.toUpperCase(search.charAt(0))) 
            + (search.length() > 1 ? search.substring(1) : "");
}

推荐阅读