Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ChatActivity extends AppCompatActivity {
- DatabaseReference profileRef;
- FirebaseDatabase database = FirebaseDatabase.getInstance();
- RecyclerView recyclerView;
- EditText searchEt;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_chat);
- searchEt = findViewById(R.id.search_userch);
- recyclerView = findViewById(R.id.rv_ch);
- recyclerView.setHasFixedSize(true);
- recyclerView.setLayoutManager(new LinearLayoutManager(ChatActivity.this));
- profileRef = database.getReference("All Users");
- searchEt.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
- }
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
- }
- @Override
- public void afterTextChanged(Editable editable) {
- String query = searchEt.getText().toString().toUpperCase();
- Query search = profileRef.orderByChild("name").startAt(query).endAt(query+"\uf0ff");
- FirebaseRecyclerOptions<All_UserMmber> options1 =
- new FirebaseRecyclerOptions.Builder<All_UserMmber>()
- .setQuery(search,All_UserMmber.class)
- .build();
- FirebaseRecyclerAdapter<All_UserMmber,ProfileViewholder> firebaseRecyclerAdapter1 =
- new FirebaseRecyclerAdapter<All_UserMmber, ProfileViewholder>(options1) {
- @Override
- protected void onBindViewHolder(@NonNull ProfileViewholder holder, int position, @NonNull All_UserMmber model) {
- final String postkey = getRef(position).getKey();
- holder.setProfileInchat(getApplication(),model.getName(),model.getUid(),model.getBio(),model.getUrl());
- String name = getItem(position).getName();
- String url = getItem(position).getUrl();
- String uid = getItem(position).getUid();
- holder.sendmessagebtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent = new Intent(ChatActivity.this,MessageActivity.class);
- intent.putExtra("n",name);
- intent.putExtra("u",url);
- intent.putExtra("uid",uid);
- startActivity(intent);
- }
- });
- }
- @NonNull
- @Override
- public ProfileViewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.chat_profile_item,parent,false);
- return new ProfileViewholder(view);
- }
- };
- firebaseRecyclerAdapter1.startListening();
- recyclerView.setAdapter(firebaseRecyclerAdapter1);
- }
- });
- }
- @Override
- protected void onStart() {
- super.onStart();
- PermissionListener permissionListener = new PermissionListener() {
- @Override
- public void onPermissionGranted() {
- }
- @Override
- public void onPermissionDenied(List<String> deniedPermissions) {
- Intent intent = new Intent(ChatActivity.this,MainActivity.class);
- startActivity(intent);
- }
- };
- TedPermission.with(ChatActivity.this)
- .setPermissionListener(permissionListener)
- .setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.RECORD_AUDIO)
- .check();
- FirebaseRecyclerOptions<All_UserMmber> options1 =
- new FirebaseRecyclerOptions.Builder<All_UserMmber>()
- .setQuery(profileRef,All_UserMmber.class)
- .build();
- FirebaseRecyclerAdapter<All_UserMmber,ProfileViewholder> firebaseRecyclerAdapter1 =
- new FirebaseRecyclerAdapter<All_UserMmber, ProfileViewholder>(options1) {
- @Override
- protected void onBindViewHolder(@NonNull ProfileViewholder holder, int position, @NonNull All_UserMmber model) {
- final String postkey = getRef(position).getKey();
- holder.setProfileInchat(getApplication(),model.getName(),model.getUid(),model.getBio(),model.getUrl());
- String name = getItem(position).getName();
- String url = getItem(position).getUrl();
- String uid = getItem(position).getUid();
- holder.sendmessagebtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent = new Intent(ChatActivity.this,MessageActivity.class);
- intent.putExtra("n",name);
- intent.putExtra("u",url);
- intent.putExtra("uid",uid);
- startActivity(intent);
- }
- });
- }
- @NonNull
- @Override
- public ProfileViewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.chat_profile_item,parent,false);
- return new ProfileViewholder(view);
- }
- };
- firebaseRecyclerAdapter1.startListening();
- recyclerView.setAdapter(firebaseRecyclerAdapter1);
- }
- }
Add Comment
Please, Sign In to add comment