java - 强制在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);
}
解决方案
以下方法将检查字符串,如果它的长度大于 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) : "");
}
推荐阅读
- javascript - 是否存在像 javascript es6 字符串模板文字这样的 Go 字符串模板?
- asp.net - 如何在 IIS 10 和 ASP Clasic 上添加 Etag 和 Last Modified Header?
- flutter - 当我使用扩展时隐藏类?
- c# - 如何从 EF Core 代码优先方法创建存储过程?
- javascript - 将库导入 laravel
- typescript - 环境上下文中的“const”初始值设定项必须是字符串或数字文字
- security - 禁用赛普拉斯测试的网络安全会保留状态 - 如何强制清理?
- php - 使用 AJAX 将与按钮无关的数据发送到模态
- hierarchical-data - 检查复杂层次模型的收敛性 JAGS
- javascript - Firebase - 如何在数组内的时间戳字段中插入当前日期?