Я пытаюсь создать приложение firebase, в котором пользователь мог бы найти своего клиента и затем щелкнуть по результату поиска, перенаправив его на активность профиля клиента с передачей данных.Я использую базу данных Firebase в реальном времени.Я не могу найти способ передать данные из списка поиска, когда я нажимаю на список.В основном, у меня возникают проблемы при передаче данных через OnClick после результатов поиска
Search_lecturer class
public class Search_lecturer extends AppCompatActivity {
EditText search_lecturer;
RecyclerView recyclerView;
DatabaseReference databaseReference;
FirebaseUser firebaseUser;
ArrayList <String> NameList;
Search_Adapter_lecturer search_adapter_lecturer;
String lecturer_name2,lectuer_email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_lecturer);
search_lecturer = findViewById(R.id.search_Lecturer);
recyclerView = findViewById(R.id.recyclerView_Lect);
databaseReference = FirebaseDatabase.getInstance().getReference();
firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
NameList = new ArrayList<>();
search_lecturer.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if(!s.toString().isEmpty()){
setAdapter(s.toString());
} else {
NameList.clear();
recyclerView.removeAllViews();
}
}
});
}
private void setAdapter(final String searchString) {
final Intent intent2 = null;
databaseReference.child("lecturer").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
NameList.clear();
recyclerView.removeAllViews();
int counter = 0;
for (DataSnapshot snapshot: dataSnapshot.getChildren()){
String uid = snapshot.getKey();
String Lect_Name = snapshot.child("Name").getValue(String.class);
if(Lect_Name.contains(searchString)){
NameList.add(Lect_Name);
counter++;
}
if (counter == 10){
break;
}
}
search_adapter_lecturer = new Search_Adapter_lecturer(Search_lecturer.this, NameList);
recyclerView.setAdapter(search_adapter_lecturer);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
Adapter class
public class Search_Adapter_lecturer extends RecyclerView.Adapter<Search_Adapter_lecturer.SearchViewHolder> {
Context context;
ArrayList<String> NameList;
class SearchViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView lect_name, lect_email;
public SearchViewHolder(@NonNull View itemView) {
super(itemView);
itemView.setOnClickListener(this);
lect_name = itemView.findViewById(R.id.lect_name);
lect_email = itemView.findViewById(R.id.lecturer_email);
}
@Override
public void onClick(View v) {
Intent intent = new Intent(context, notification_menu.class);
context.startActivity(intent);
}
}
public Search_Adapter_lecturer(Context context, ArrayList<String> nameList) {
this.context = context;
this.NameList = nameList;
}
@NonNull
@Override
public Search_Adapter_lecturer.SearchViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.search_list_items, viewGroup, false);
return new Search_Adapter_lecturer.SearchViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull SearchViewHolder searchViewHolder, int position) {
searchViewHolder.lect_name.setText(NameList.get(position));
}
@Override
public int getItemCount() {
return NameList.size();
}
}
Я пытался внедрить функцию поиска в свойприложение.Я учусь на уроке с YouTube.Это работает, но теперь я не могу найти способ, которым после поиска пользователю удается щелкнуть по списку имен и перенаправить к другому действию с данными, по которым пользователь щелкает.Надеюсь учиться у вас, ребята.