Java 使用大小写进行搜索 public类ActivityPS扩展了AppCompatActivity{ 私人PS_DA PS_DA=新PS_DA(ActivityPS.this); 回收视图回收视图; android.widget.SearchView搜索视图; Realm Realm=Realm.getDefaultInstance(); Adapters Adapters; 列出过滤器; RealmResults psList; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_ps); cast(); 设置回收器(); searchviewSetUp(); } public void searchviewSetUp(){ searchView.setOnQueryTextListener(新的searchView.OnQueryTextListener(){ @凌驾 公共布尔值onQueryTextSubmit(字符串s){ 返回false; } }); } @凌驾 公共布尔值onQueryTextChange(字符串s){ filteredPs=过滤器(psList,s); 如果(filteredPs.size()>0){ 返回true; } 返回false; } 公共列表筛选器(列表psLists、字符串s){ s=s.toLowerCase(); filteredPs=newarraylist(); 用于(PS psList:psLists){ 最终字符串text=psList.getCommandName().toString().toLowerCase(); 如果(文本包含); filteredPs.add(psList); } psList=realm.where(PS.class).contains(“commandName”,s).findAll(); adapterPS=新的adapterPS(ActivityPS.this、psList、realm); setLayoutManager(新的LinearLayoutManager(ActivityPS.this)); recyclerView.setAdapter(适配器); 返回过滤器DEPs; } }
我想搜索我的领域数据库,我想我的搜索视图是不敏感的字母大小写。我这样做了,但结果中只显示小写数据,无论是用小写还是大写插入。我不知道我该怎么做…生成所有结果。为了降低大小写,因此任何内容都不会敏感。您可以使Java 使用大小写进行搜索 public类ActivityPS扩展了AppCompatActivity{ 私人PS_DA PS_DA=新PS_DA(ActivityPS.this); 回收视图回收视图; android.widget.SearchView搜索视图; Realm Realm=Realm.getDefaultInstance(); Adapters Adapters; 列出过滤器; RealmResults psList; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_ps); cast(); 设置回收器(); searchviewSetUp(); } public void searchviewSetUp(){ searchView.setOnQueryTextListener(新的searchView.OnQueryTextListener(){ @凌驾 公共布尔值onQueryTextSubmit(字符串s){ 返回false; } }); } @凌驾 公共布尔值onQueryTextChange(字符串s){ filteredPs=过滤器(psList,s); 如果(filteredPs.size()>0){ 返回true; } 返回false; } 公共列表筛选器(列表psLists、字符串s){ s=s.toLowerCase(); filteredPs=newarraylist(); 用于(PS psList:psLists){ 最终字符串text=psList.getCommandName().toString().toLowerCase(); 如果(文本包含); filteredPs.add(psList); } psList=realm.where(PS.class).contains(“commandName”,s).findAll(); adapterPS=新的adapterPS(ActivityPS.this、psList、realm); setLayoutManager(新的LinearLayoutManager(ActivityPS.this)); recyclerView.setAdapter(适配器); 返回过滤器DEPs; } },java,android,realm,Java,Android,Realm,我想搜索我的领域数据库,我想我的搜索视图是不敏感的字母大小写。我这样做了,但结果中只显示小写数据,无论是用小写还是大写插入。我不知道我该怎么做…生成所有结果。为了降低大小写,因此任何内容都不会敏感。您可以使领域数据库搜索不区分大小写,在方法中添加不区分大小写布尔作为第三个参数: 我刚找到。。。。 我把我的代码改成这个,它就工作了 psList = realm.where(PS.class).contains("commandName",s, Case.INSENSITIVE).findAll()
领域数据库搜索不区分大小写,在方法中添加不区分大小写布尔作为第三个参数
:
我刚找到。。。。
我把我的代码改成这个,它就工作了
psList = realm.where(PS.class).contains("commandName",s, Case.INSENSITIVE).findAll();
public类ActivityPS扩展了AppCompatActivity{
私人PS_DA PS_DA=新PS_DA(ActivityPS.this);
回收视图回收视图;
android.widget.SearchView搜索视图;
Realm Realm=Realm.getDefaultInstance();
Adapters Adapters;
列出过滤器;
RealmResults psList;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ps);
cast();
设置回收器();
searchviewSetUp();
}
public void searchviewSetUp(){
searchView.setOnQueryTextListener(新的searchView.OnQueryTextListener(){
@凌驾
公共布尔值onQueryTextSubmit(字符串s){
返回false;
}
@凌驾
公共布尔值onQueryTextChange(字符串s){
psList=realm.where(PS.class).contains(“commandName”,s,不区分大小写).findAll();
adapterPS=新的adapterPS(ActivityPS.this、psList、realm);
setLayoutManager(新的LinearLayoutManager(ActivityPS.this));
recyclerView.setAdapter(适配器);
返回false;
}
<> > <代码> .asy.un/<代码>自动执行。我从未使用过领域,但我可以给你的一条通用建议是,如果你有必要做不区分大小写的搜索,那么只考虑用小写形式存储所有数据,然后用小写输入来搜索。当我想用“回收者”视图显示它们时,它会用小写字母显示吗?@TimBiegeleisenyes这很有效。非常感谢。虽然我发现这是我自己,但谢谢你
public RealmQuery<E> contains(String fieldName, String value, boolean
> caseSensitive)
psList = realm.where(PS.class).contains("commandName",s, Case.INSENSITIVE).findAll();
public class ActivityPS extends AppCompatActivity {
private PS_DA ps_da = new PS_DA(ActivityPS.this);
RecyclerView recyclerView;
android.widget.SearchView searchView;
Realm realm = Realm.getDefaultInstance();
AdapterPS adapterPS;
List<PS> filteredPs;
RealmResults<PS> psList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ps);
cast();
setUpRecycler();
searchviewSetUp();
}
public void searchviewSetUp(){
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
psList = realm.where(PS.class).contains("commandName",s, Case.INSENSITIVE).findAll();
adapterPS = new AdapterPS(ActivityPS.this,psList,realm);
recyclerView.setLayoutManager(new LinearLayoutManager(ActivityPS.this));
recyclerView.setAdapter(adapterPS);
return false;
}