Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Search extends AppCompatActivity {
- private EditText mSearchField;
- private ImageButton mSearchBtn;
- private RecyclerView mResultList;
- private DatabaseReference mUserDatabase;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- mUserDatabase = FirebaseDatabase.getInstance().getReference("Global");
- mSearchField = (EditText) findViewById(R.id.search_field);
- mSearchBtn = (ImageButton) findViewById(R.id.search_btn);
- mResultList = (RecyclerView) findViewById(R.id.result_list);
- mResultList.setHasFixedSize(true);
- mResultList.setLayoutManager(new LinearLayoutManager(this));
- mSearchBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- String searchText = mSearchField.getText().toString();
- firebaseUserSearch(searchText);
- }
- });
- }
- private void firebaseUserSearch(String searchText) {
- Toast.makeText(Search.this, "Started Search", Toast.LENGTH_LONG).show();
- Query firebaseSearchQuery = mUserDatabase.orderByChild("name").startAt(searchText).endAt(searchText + "\uf8ff");
- FirebaseRecyclerAdapter<Global, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Global, UsersViewHolder>(
- Global.class,
- R.layout.list_layout,
- UsersViewHolder.class,
- firebaseSearchQuery
- ) {
- @Override
- protected void populateViewHolder(UsersViewHolder viewHolder, Global model, int position) {
- viewHolder.setDetails(getApplicationContext(), model.getName(), model.getStatus(), model.getImage());
- }
- };
- mResultList.setAdapter(firebaseRecyclerAdapter);
- }
- // View Holder Class
- public static class UsersViewHolder extends RecyclerView.ViewHolder {
- View mView;
- public UsersViewHolder(View itemView) {
- super(itemView);
- mView = itemView;
- }
- public void setDetails(Context ctx, String userName, String userStatus, String userImage){
- TextView user_name = (TextView) mView.findViewById(R.id.name_text);
- TextView user_status = (TextView) mView.findViewById(R.id.status_text);
- ImageView user_image = (ImageView) mView.findViewById(R.id.profile_image);
- user_name.setText(userName);
- user_status.setText(userStatus);
- Glide.with(ctx).load(userImage).into(user_image);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement