I am a beginner in android development.I faces a problem with arraylist.I declared arraylist city as global variable and I added elements to it from firebase.But.,after that when i access this elements out side of the addchildevent listener method,the array list become empty.How can i declare the array list to get elements globally.? My code snippet is,
public class BookingDetails extends Fragment {
private RecyclerView recyclerView;
private DatabaseReference dataRef;
private FirebaseAuth mAuth;
ArrayList<String> uids=new ArrayList<String>();
private ArrayList<String> dates=new ArrayList<>();
private int hour;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
InputMethodManager in=(InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
in.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
final View v=inflater.inflate(R.layout.activity_booking_details,container,false);
recyclerView = (RecyclerView) v.findViewById(R.id.book_detail_view);
recyclerView.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
llm.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(llm);
recyclerView.addItemDecoration(new SimpleDividerItemDecoration(getActivity()));
mAuth=FirebaseAuth.getInstance();
final String user=mAuth.getCurrentUser().getUid();
dataRef= FirebaseDatabase.getInstance().getReference();
dataRef.child("Users").child(user).child("booked docters").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot data:dataSnapshot.getChildren()) {
uids.add(data.getKey());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Toast.makeText(getActivity(),uids.get(0), Toast.LENGTH_SHORT).show();
return v;
}
}
This gives me empty.But when i use this toast on the method value event listener gives correct elements.How to fix this problem.?