Я пытаюсь извлечь данные из Firestore во фрагмент, который использует BottomNavigationBar
, в этом фрагменте я хочу отобразить данные пользователя, такие как имя, идентификатор электронной почты и т. Д. c. Но я понятия не имею, как использовать Firestore во фрагменте для извлечения данных. Может ли кто-нибудь, пожалуйста, помогите мне с этим
public class ProfileFragment extends Fragment
{
public ProfileFragment()
{ }
FirebaseAuth firebaseAuth;
FirebaseFirestore firestore;
FirebaseUser user;
String userid;
EditText name, email, num;
Хотите отобразить детали в вышеупомянутых EditTexts
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_profile, container, false);
ImageButton setting = (ImageButton) view.findViewById(R.id.settings);
View view1 = inflater.inflate(R.layout.fragment_profile, container, false);
name = (EditText) view1.findViewById(R.id.nameed);
firebaseAuth = FirebaseAuth.getInstance();
firestore = FirebaseFirestore.getInstance();
userid = firebaseAuth.getCurrentUser().getUid();
final DocumentReference documentReference = firestore.collection("users").document(userid);
Попробовал использовать фрагмент кода ниже, чтобы записать данные в editext, но получил ошибка
documentReference.addSnapshotListener((Executor) this, new EventListener<DocumentSnapshot>()
{
@Override
public void onEvent(@javax.annotation.Nullable DocumentSnapshot documentSnapshot, @javax.annotation.Nullable FirebaseFirestoreException e) {
name.setText(documentSnapshot.getString("nameed"));
}
});
Это была ошибка E / AndroidRuntime: FATAL EXCEPTION: main Процесс: gmail.rishabh.myapplication, PID: 8597 java .lang.ClassCastException: gmail.rishabh.myapplication.ProfileFragment не может быть приведение к java .util.concurrent.Executor
setting.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view)
{
Intent intent = new Intent(getActivity(),settings.class);
intent.putExtra("some","some data");
startActivity(intent);
getActivity().finish();
}
});
return view;
}
}