Majidd74:
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) {
filteredPs =filter(psList,s);
if (filteredPs.size()> 0){
return true;
}
return false;
}
public List<PS> filter (List<PS> psLists,String s){
s = s.toLowerCase();
filteredPs = new ArrayList<>();
for (PS psList : psLists){
final String text = psList.getCommandName().toString().toLowerCase();
if (text.contains(s));
filteredPs.add(psList);
}
psList = realm.where(PS.class).contains("commandName",s).findAll();
adapterPS = new AdapterPS(ActivityPS.this,psList,realm);
recyclerView.setLayoutManager(new LinearLayoutManager(ActivityPS.this));
recyclerView.setAdapter(adapterPS);
return filteredPs;
}
}
Quiero buscar a través de mi reino DB y quiero que mi vista de búsqueda no es sensible a mayúsculas y minúsculas. Lo hice pero muestra sólo los datos minúsculas en consecuencia si inserto con mayúsculas o minúsculas. No sé lo que debo hacer ...
Majidd74:
Me acaba de encontrar .... cambio mi código a este y funciona.
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;
}
Eso .Case.INSENSITIVE
hizo que automáticamente.