No se pueden recibir cadenas de la base de datos de Android Firebase

usuario7436941

Quiero obtener el nombre (String) y la ubicación (String) de mi base de datos firebase en una vista de lista de una página de fragmentos de mi aplicación. No da ningún error, pero el nombre y el texto de ubicación simplemente no aparecen en la aplicación. gracias por la ayuda. Creo que hay un problema para obtener las cadenas del servidor de base de fuego.

Firebase hierarchy : FIREBASE -> Events -> XmasParty -> location = Germany
                                                     -> name = XmasParty

FRAGMENTO :

public class RequestsFragment extends Fragment {


    private Button create_event_btn;
    private View mMainView2;
    private RecyclerView mEventList;
    private DatabaseReference mEventsDatabase;
    private LinearLayoutManager mLayoutManager;


    public void ChatsFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        mMainView2 = inflater.inflate(R.layout.fragment_requests, container, false);
        mEventsDatabase = FirebaseDatabase.getInstance().getReference().child("Events");

        mLayoutManager = new LinearLayoutManager(getContext());
        create_event_btn = (Button) mMainView2.findViewById(R.id.create_btn);
        mEventList = (RecyclerView) mMainView2.findViewById(R.id.event_list);
        mEventList.setHasFixedSize(true);
        mEventList.setLayoutManager(mLayoutManager);



        create_event_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getActivity(), Create_EventActivity.class);
                startActivity(intent);
            }
        });


        // Inflate the layout for this fragment
        return mMainView2;
    }

    @Override
    public void onStart() {
        super.onStart();

        FirebaseRecyclerAdapter<Events, RequestsFragment.EventsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Events, EventsViewHolder>(

                Events.class,
                R.layout.users_single_layout,
                RequestsFragment.EventsViewHolder.class,
                mEventsDatabase

        ) {
            @Override
            protected void populateViewHolder(RequestsFragment.EventsViewHolder eventsViewHolder, Events events, int position) {

                eventsViewHolder.setDisplayName(events.getName());
                eventsViewHolder.setUserStatus(events.getLocation());
               // usersViewHolder.setUserImage(users.getThumb_image(), getApplicationContext());

                final String event_id = getRef(position).getKey();

                eventsViewHolder.mView2.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {

                        //Intent profileIntent = new Intent(UsersActivity.this, ProfileActivity.class);
                       // profileIntent.putExtra("user_id", user_id);
                       // startActivity(profileIntent);

                    }
                });

            }
        };


        mEventList.setAdapter(firebaseRecyclerAdapter);

    }


    public static class EventsViewHolder extends RecyclerView.ViewHolder {

        View mView2;

        public EventsViewHolder(View itemView2) {
            super(itemView2);

            mView2 = itemView2;

        }

        public void setDisplayName(String name){

            TextView userNameView = (TextView) mView2.findViewById(R.id.user_single_name);
            userNameView.setText(name);

        }

        public void setUserStatus(String status){

            TextView userStatusView = (TextView) mView2.findViewById(R.id.user_single_status);
            userStatusView.setText(status);


        }    

        }
    }
}

CLASE DE EVENTOS

public class Events {

    public String name;
    public String location;
    public String time;



    public Events(){

    }

    public Events(String name, String location, String time) {
        this.name = name;
        this.location = location;
        this.time = time;
    }

    public String getName() {return name;}
    public void setName(String name) {
        this.name = name;
    }

    public String getLocation() {
        return location;
    }
    public void setLocation(String location) {
        this.location = location;
    }

    public String getTime() {return time;}
    public void setTime(String time) {this.time = time;}

}
Alex Mamo

Para obtener el valor de locationy name, utilice el siguiente código:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference yourRef = rootRef.child("Events").child("XmasParty");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String location = dataSnapshot.child("location").getValue(String.class);
        String name = dataSnapshot.child("name").getValue(String.class);
        Log.d("TAG", location + " / " + name);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
yourRef.addListenerForSingleValueEvent(eventListener);

La salida será:

Germany / XmasParty

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

No se pueden recibir datos de la base de datos de firebase

Android: no se pueden recibir datos de PHP

No puedo recibir datos de la base de datos de Firebase

no se pueden recibir datos adicionales de la notificación push de análisis en Android

no se pueden recibir datos adicionales de la notificación push de análisis en Android

No se pueden recuperar datos de Firebase (Android)

No se pueden recuperar datos de la base de datos de Firebase

No se pueden leer objetos de la instantánea de la base de datos de Firebase

No se pueden obtener los valores de la matriz de la base de datos de firebase

No se pueden leer datos de la base de datos Firebase usando la clase

No se pueden guardar datos en la base de datos de firebase

No se pueden mostrar datos de la base de datos

No se pueden agregar datos a la base de datos de la habitación en Android

no se pueden recuperar valores de la base de datos de firebase

No se pueden insertar datos en la base de datos sqlite de android studio

La base de datos SqLite en Android siempre se inicializa / es nula, no se pueden leer datos

Firebase con React: no se pueden eliminar elementos de la base de datos

No se pueden insertar pines en el mapa desde la base de datos de Firebase - XAML

¿Pueden varias aplicaciones de Android acceder a la misma base de datos de Firebase?

MEDIA: no se pueden actualizar los datos a la base de datos

No se pueden almacenar datos en la base de datos

No se pueden almacenar datos en la base de datos

Los datos no se pueden ingresar en la base de datos

No se pueden guardar datos en la base de datos Python

Android: ¿se pueden usar los cursores de SQLite después de cerrar la base de datos?

No se pueden recuperar datos de la base de datos en tiempo real de firebase en la aplicación web

No se pueden recuperar varios valores de la base de datos

No se pueden mostrar los registros de la base de datos

No se pueden actualizar los campos de la base de datos

TOP Lista

CalienteEtiquetas

Archivo