Ce que je suis en train de faire est de passer une donnée d'un utilisateur spécifique dans une autre activité en utilisant son ID utilisateur comme ID unique
Il conserve envoyer les mêmes données dans la autre activité, je ne sais pas comment faireRecyclerview Onclick passage des données spécifiques lorsque cliquez sur Vignettes en activité
Ce code est est le Fragment_Home où je l'utilise pour obtenir des données de Firebase
et le remplir dans le RecyclerView
, et où le Onclick
est en ce moment.
public class FragmentRO_Home extends Fragment {
private Intent intent;
private DatabaseReference database;
RecyclerView recyclerView;
Recycler_View_Adapter adapter;
TextView TV_nodata;
private String uid;
private String nombre;
public FragmentRO_Home() {
// Required empty public constructor qwe
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_fragment_ro__home,container,false);
database = FirebaseDatabase.getInstance().getReference();
final List<Data> data = new ArrayList();
TV_nodata = (TextView)view.findViewById(R.id.TV_result);
recyclerView = (RecyclerView) view.findViewById(R.id.recyclerview);
adapter = new Recycler_View_Adapter(data, getActivity());
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
fill_with_data();
C'est l'onclick que j'utilise avec recyclerview et c'est fonctionnel.
recyclerView.addOnItemTouchListener(new CustomRVItemTouchListener(getActivity(), recyclerView, new RecyclerViewItemClickListener() {
@Override
public void onClick(View view, int position) {
if (position == 0){
intent = new Intent(getActivity(), ReportInformation.class);
intent.putExtra("idData",uid);
startActivity(intent);
}else if (position == 1){
intent = new Intent(getActivity(), ReportInformation.class);
intent.putExtra("idData",uid);
startActivity(intent);
}else if (position == 2){
intent = new Intent(getActivity(), ReportInformation.class);
intent.putExtra("idData",uid);
startActivity(intent);
}else if (position == 3){
intent = new Intent(getActivity(), ReportInformation.class);
intent.putExtra("idData",uid);
startActivity(intent);
}else if (position == 5){
intent = new Intent(getActivity(), ReportInformation.class);
intent.putExtra("idData",uid);
startActivity(intent);
}
}
@Override
public void onLongClick(View view, int position) {
}
}));
return view;
}
Ceci est la méthode où je peuplaient mon recyclerview d'obtenir de données dans le firebase.
public void fill_with_data() {
database.child("data_home").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot d) {
if (d.exists()) {
List<Data> list = new ArrayList<>();
for (DataSnapshot dataw : d.getChildren()) {
Data data = dataw.getValue(Data.class);
list.add(data);
uid = (data.usirayd);
nombre = (data.title);
}
for (Data data : list) {
adapter.insert(new Data(data.title, data.description, data.condition, data.time,data.usirayd));
}
}else {
TV_nodata.setVisibility(View.VISIBLE);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
recyclerView.setAdapter(adapter);
}
quelle est votre requête et quel est le problème que vous rencontrez? – Mandy8055
Quel est le problème? vous n'avez pas publié le problème auquel vous êtes confronté. –
à quel problème vous êtes confronté et encore une chose Lorsque vous utilisez l'événement position onclick et si vous transmettez les mêmes données, n'utilisez pas la condition sur la position simplement envoyer des données à partir de la position. enlever si autre de la position que vous envoyez les mêmes données pour chaque position. –