entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Info de firebase en un list view

Hola buenas
estoy viendo tutoriales de firebase y android studio encontre uno para mostrar los datos pero los muestra en un TextView y los quisiera poner en un ListView y soy nuevo en Java algun comentario

enter image description here

package com.notification.eiao.eiao;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

public class MainActivity extends AppCompatActivity {
    private TextView mFbTextView;
  DatabaseReference mDatabaseReference = FirebaseDatabase.getInstance().getReference();
    DatabaseReference mRootChild = mDatabaseReference.child("Avisos");
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mFbTextView = (TextView) findViewById(R.id.fbTextView);
    }
    @Override
    protected void onStart(){
        super.onStart();
        mRootChild.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot){
                String texto = dataSnapshot.getValue().toString();
                mFbTextView.setText(texto);
            }
            @Override
            public void onCancelled(DatabaseError databaseError){

            }
        });
    }
}

1 Respuesta

1voto

romancoronadoa Puntos970

Este es el codigo que me permitio hacerlo ya encontre la solucion por si a alguien lo necesita:

enter image description here

package com.notification.eiao.eiao;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

import java.util.ArrayList;

   public class MainActivity extends AppCompatActivity {
   private ListView listView;

    private ArrayAdapter<String> adapter;
    private ArrayList<String> arrayList =new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
        DatabaseReference mRootChild = mDatabase.child("Nombre de la base de datos");

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayList);

        listView = (ListView) findViewById(R.id.database_list_view);
        listView.setAdapter(adapter);

        mRootChild.addChildEventListener(new ChildEventListener(){
           @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s){
               String string = dataSnapshot.getValue(String.class);
               arrayList.add(string);
               adapter.notifyDataSetChanged();
           }
            @Override
            public void onChildChanged(DataSnapshot dataSnapshot, String s){

            }
            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot){
                String string = dataSnapshot.getValue(String.class);
                arrayList.remove(string);
                adapter.notifyDataSetChanged();
            }
            @Override
            public void onChildMoved(DataSnapshot dataSnapshot, String s){

            }
            @Override
            public void onCancelled(DatabaseError databaseError){

            }
        });
    }
}

0voto

Peter comentado

Gracias por compartir la solución.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta