Advertisement
Guest User

Search.java

a guest
Mar 19th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.82 KB | None | 0 0
  1. public class Search extends AppCompatActivity {
  2.  
  3.     private EditText mSearchField;
  4.     private ImageButton mSearchBtn;
  5.  
  6.     private RecyclerView mResultList;
  7.  
  8.     private DatabaseReference mUserDatabase;
  9.  
  10.     @Override
  11.     protected void onCreate(Bundle savedInstanceState) {
  12.         super.onCreate(savedInstanceState);
  13.         setContentView(R.layout.activity_main);
  14.  
  15.         getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  16.  
  17.         mUserDatabase = FirebaseDatabase.getInstance().getReference("Global");
  18.  
  19.  
  20.         mSearchField = (EditText) findViewById(R.id.search_field);
  21.         mSearchBtn = (ImageButton) findViewById(R.id.search_btn);
  22.  
  23.         mResultList = (RecyclerView) findViewById(R.id.result_list);
  24.         mResultList.setHasFixedSize(true);
  25.         mResultList.setLayoutManager(new LinearLayoutManager(this));
  26.  
  27.         mSearchBtn.setOnClickListener(new View.OnClickListener() {
  28.             @Override
  29.             public void onClick(View view) {
  30.  
  31.                 String searchText = mSearchField.getText().toString();
  32.  
  33.                 firebaseUserSearch(searchText);
  34.  
  35.             }
  36.         });
  37.  
  38.     }
  39.  
  40.     private void firebaseUserSearch(String searchText) {
  41.  
  42.         Toast.makeText(Search.this, "Started Search", Toast.LENGTH_LONG).show();
  43.  
  44.         Query firebaseSearchQuery = mUserDatabase.orderByChild("name").startAt(searchText).endAt(searchText + "\uf8ff");
  45.  
  46.         FirebaseRecyclerAdapter<Global, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Global, UsersViewHolder>(
  47.  
  48.                 Global.class,
  49.                 R.layout.list_layout,
  50.                 UsersViewHolder.class,
  51.                 firebaseSearchQuery
  52.  
  53.         ) {
  54.             @Override
  55.             protected void populateViewHolder(UsersViewHolder viewHolder, Global model, int position) {
  56.  
  57.  
  58.                 viewHolder.setDetails(getApplicationContext(), model.getName(), model.getStatus(), model.getImage());
  59.  
  60.             }
  61.         };
  62.  
  63.         mResultList.setAdapter(firebaseRecyclerAdapter);
  64.  
  65.     }
  66.  
  67.  
  68.     // View Holder Class
  69.  
  70.     public static class UsersViewHolder extends RecyclerView.ViewHolder {
  71.  
  72.         View mView;
  73.  
  74.         public UsersViewHolder(View itemView) {
  75.             super(itemView);
  76.  
  77.             mView = itemView;
  78.  
  79.         }
  80.  
  81.         public void setDetails(Context ctx, String userName, String userStatus, String userImage){
  82.  
  83.             TextView user_name = (TextView) mView.findViewById(R.id.name_text);
  84.             TextView user_status = (TextView) mView.findViewById(R.id.status_text);
  85.             ImageView user_image = (ImageView) mView.findViewById(R.id.profile_image);
  86.  
  87.  
  88.             user_name.setText(userName);
  89.             user_status.setText(userStatus);
  90.  
  91.             Glide.with(ctx).load(userImage).into(user_image);
  92.  
  93.  
  94.         }
  95.  
  96.  
  97.  
  98.  
  99.     }
  100.  
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement