I'm trying to remove the accent from the searcher's words, but my code is not working.
I'd like you to look at a sample word Você
all variations of Voce, Você, você, você, VOCE, VOCÊ
.
Thank you
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.busca, menu);
MenuItem menuItem = menu.findItem(R.id.sv);
SearchView searchView = (SearchView) menuItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
//Irá tirar não só acentuações mas também qualquer caractere fora de ASCII
String texto;
texto = Normalizer.normalize(query, Normalizer.Form.NFD).replaceAll("[^\p{ASCII}]", "");
//seu código
return false;
}
//se for pra passar o texto já modificado para o arrayAdapter, vc faz:
@Override
public boolean onQueryTextChange(String newText) {
String texto;
texto = Normalizer.normalize(newText, Normalizer.Form.NFD).replaceAll("[^\p{ASCII}]", "");
arrayAdapter.getFilter().filter(texto);
return true;
}
});
getMenuInflater().inflate(R.menu.activity_main, menu);
return super.onCreateOptionsMenu(menu);
}