problem loading recyclerview list with firebaseui

0

I'm very new in developing applications, I'm doing this app where I have to save some data in the cloud, I'm using firebaseui with recyclerview for it. I could upload the data but when loading the list my app is closed. Here I leave the code:

package com.code.plantas;

import android.app.Activity;
import android.content.Entity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.support.v4.content.ContextCompat;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.bumptech.glide.Glide;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.database.DatabaseReference;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.code.plantas.R;

public class NewPlant extends AppCompatActivity{

private ImageView imagen;
private EditText nomb,nomc,fam,hoj,tall,flo;
private String key;
private Button foto,guardar;

private static final FirebaseDatabase DATABASE= FirebaseDatabase.getInstance();
private static final FirebaseStorage STORAGE =FirebaseStorage.getInstance();


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

    nomb=(EditText) findViewById(R.id.nom);
    nomc=(EditText) findViewById(R.id.nomc);
    fam=(EditText) findViewById(R.id.familia);
    hoj=(EditText) findViewById(R.id.hojas);
    tall=(EditText) findViewById(R.id.tallo);
    flo=(EditText) findViewById(R.id.flores);


    guardar=(Button)findViewById(R.id.guardar) ;
    foto=(Button)findViewById(R.id.btnFoto);
     guardar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Plant p = new Plant(nomb.getText().toString(),nomc.getText().toString(),fam.getText().toString(),hoj.getText().toString(),tall.getText().toString(),flo.getText().toString());
                DATABASE.getReference().push().setValue(p);

            //CUANDO SE GUARDE
            nomb.setText("");
            nomc.setText("");
            fam.setText("");
            hoj.setText("");
            tall.setText("");
            flo.setText("");

            Toast.makeText(NewPlant.this,"Done",Toast.LENGTH_SHORT).show();
        }
    });

}
}

My data model:

public class Plant {
private String name;
private String cname;
private String familia;
private String hojas;
private String tallo;
private String flores;

public Plant() {
}

public Plant(String name, String cname, String familia, String hojas, String tallo, String flores) {
    this.name = name;
    this.cname = cname;
    this.familia = familia;
    this.hojas = hojas;
    this.tallo = tallo;
    this.flores = flores;
}

public String getName() {
    return name;
}

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

public String getCname() {
    return cname;
}

public void setCname(String cname) {
    this.cname = cname;
}

public String getFamilia() {
    return familia;
}

public void setFamilia(String familia) {
    this.familia = familia;
}

public String getHojas() {
    return hojas;
}

public void setHojas(String hojas) {
    this.hojas = hojas;
}

public String getTallo() {
    return tallo;
}

public void setTallo(String tallo) {
    this.tallo = tallo;
}

public String getFlores() {
    return flores;
}

public void setFlores(String flores) {
    this.flores = flores;
}
}

My Adapter:

package com.code.plantas;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;


public class PlantList extends AppCompatActivity {

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

    RecyclerView recyclerView= (RecyclerView)findViewById(R.id.rv);
    recyclerView.setLayoutManager(new LinearLayoutManager(PlantList.this));
    DatabaseReference ref= FirebaseDatabase.getInstance().getReference();

    FirebaseRecyclerAdapter<Plant,PlantHolder>adapter=new FirebaseRecyclerAdapter<Plant, PlantHolder>(Plant.class,R.layout.plant_list,PlantHolder.class,ref) {
        @Override
        protected void populateViewHolder(PlantHolder viewHolder, Plant model, int position) {
           viewHolder.setName(model.getName());

        }
    };

recyclerView.setAdapter(adapter);
}

}

Holder:

package com.code.plantas;

import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;



public class PlantHolder extends RecyclerView.ViewHolder{
public final TextView nombre;

public PlantHolder(View itemView){
    super (itemView);
nombre=(TextView) itemView.findViewById(R.id.nname);

}


public void setName(String name) {
    nombre.setText(name);
}
}

The Manifest:

                                                                                                                         The Layout of the Recyclerview:                              The code for each row:                                                                   The activity where the data is written:         

<ImageView
    android:layout_width="200dp"
    app:srcCompat="@mipmap/ic_launcher"
    android:id="@+id/imageView"
    android:layout_height="100dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:ems="10"
    android:id="@+id/nom"
    android:layout_marginTop="19dp"
    android:layout_below="@+id/imageView"
    android:layout_alignParentStart="true"
    android:hint="Nombre" />

<Button
    android:text="@string/foto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/btnFoto"
    android:layout_above="@+id/guardar"
    android:layout_alignParentStart="true" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:ems="10"
    android:layout_below="@+id/nomc"
    android:layout_alignParentStart="true"
    android:id="@+id/familia"
    android:hint="@string/familia" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:ems="10"
    android:layout_below="@+id/hojas"
    android:layout_alignParentStart="true"
    android:id="@+id/tallo"
    android:hint="Tallo" />

<Button
    android:text="@string/guardar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/guardar"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:ems="10"
    android:id="@+id/hojas"
    android:hint="Hojas"
    android:layout_below="@+id/familia"
    android:layout_alignParentStart="true" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:ems="10"
    android:id="@+id/flores"
    android:layout_below="@+id/tallo"
    android:layout_alignParentStart="true"
    android:hint="Flores" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:ems="10"
    android:layout_marginTop="31dp"
    android:id="@+id/nomc"
    android:hint="Nombre Cientifico"
    android:layout_alignTop="@+id/nom"
    android:layout_alignParentStart="true" />

   </RelativeLayout>
    
asked by Maria Perez 08.03.2018 в 00:09
source

0 answers