Guest User

Untitled

a guest
Apr 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. public class EventsDisplayActivity extends AppCompatActivity {
  2.  
  3. private EditText mSearchField;
  4. private ImageButton mSearchButton;
  5. private RecyclerView mResultsList;
  6. private DatabaseReference mEventDatabase;
  7.  
  8.  
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_events_display);
  13.  
  14. mEventDatabase = FirebaseDatabase.getInstance().getReference("Events");
  15.  
  16. mSearchField = findViewById(R.id.editTextSearch);
  17. mSearchButton = findViewById(R.id.imageButtonSearch);
  18. mResultsList = findViewById(R.id.result_list);
  19. mResultsList.setHasFixedSize(true);
  20. mResultsList.setLayoutManager(new LinearLayoutManager(this));
  21.  
  22. mSearchButton.setOnClickListener(new View.OnClickListener() {
  23. @Override
  24. public void onClick(View v) {
  25.  
  26. String searchText = mSearchField.getText().toString();
  27.  
  28. firebaseEventSearch(searchText);
  29. }
  30. });
  31. }
  32.  
  33. private void firebaseEventSearch(String searchText) {
  34.  
  35. Toast.makeText(EventsDisplayActivity.this, "Started Search", Toast.LENGTH_LONG).show();
  36.  
  37. Query firebaseSearchQuery = mEventDatabase.orderByChild("name").startAt(searchText).endAt(searchText + "uf8ff");
  38.  
  39. FirebaseRecyclerAdapter<Events, EventsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Events, EventsViewHolder>(
  40. Events.class,
  41. R.layout.event_list,
  42. EventsViewHolder.class,
  43. firebaseSearchQuery
  44. ) {
  45.  
  46. @Override
  47. protected void onBindViewHolder(@NonNull EventsViewHolder viewHolder, int position, @NonNull Events model) {
  48.  
  49. viewHolder.setDetails(getApplicationContext(), model.getName(), model.getImage(), model.getDescription());
  50.  
  51. }
  52.  
  53. @NonNull
  54. @Override
  55. public EventsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  56. return null;
  57. }
  58. };
  59.  
  60. mResultsList.setAdapter(firebaseRecyclerAdapter);
  61. }
  62.  
  63. public static class EventsViewHolder extends RecyclerView.ViewHolder{
  64.  
  65. View mView;
  66.  
  67. public EventsViewHolder(View eventView) {
  68. super(eventView);
  69.  
  70. mView = eventView;
  71. }
  72.  
  73. public void setDetails(Context context, String eventName, String eventImage, String eventDescription){
  74.  
  75. TextView event_name = mView.findViewById(R.id.event_name);
  76. ImageView event_image = mView.findViewById(R.id.event_image);
  77. TextView event_description = mView.findViewById(R.id.event_description);
  78.  
  79. event_name.setText(eventName);
  80. Glide.with(context).load(eventImage).into(event_image);
  81. event_description.setText(eventDescription);
  82.  
  83. }
  84.  
  85.  
  86. }
  87. }
Add Comment
Please, Sign In to add comment