问题
MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = (RecyclerView)findViewById(R.id.recyclerview);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
FirebaseRecyclerOptions<DataClass> options = new FirebaseRecyclerOptions.Builder<DataClass>()
.setQuery(FirebaseDatabase.getInstance().getReference().child("Users"), DataClass.class)
.build();
mAdapter = new FirebaseAdapter(options);
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mainmenu,menu);
MenuItem item = menu.findItem(R.id.search);
SearchView searchView = (SearchView)item.getActionView();
searchView.setMaxWidth(Integer.MAX_VALUE);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
proccessearch(s);
return true;
}
});
return super.onCreateOptionsMenu(menu);
}
private void proccessearch(String s) {
FirebaseRecyclerOptions<DataClass> options = new FirebaseRecyclerOptions.Builder<DataClass>()
.setQuery(FirebaseDatabase.getInstance().getReference().child("Users").orderByChild("Name").startAt(s).endAt(s+"\uf8ff"), DataClass.class)
.build();
mAdapter = new FirebaseAdapter(options);
mAdapter.startListening();
mRecyclerView.setAdapter(mAdapter);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id==R.id.search)
return true;
return super.onOptionsItemSelected(item);
}
@Override
protected void onStart() {
super.onStart();
mAdapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
mAdapter.stopListening();
}
}
Now s is the object holding for searchview now how to do that in lowercase I tried s.tolowercase() in startAt and endAt it gives me error, can somebody help me in this one ? how can I search in lowercase in firebaserecycleroptions .......... Thank you.........................................................
来源:https://stackoverflow.com/questions/64990161/how-to-search-using-lowercase-in-firebaserecycleroptions-in-android-java