The error that is thrown is the following:
E / AndroidRuntime: FATAL EXCEPTION: main Process: com.example.bastiancorps.geoassistance, PID: 17445 java.lang.RuntimeException: Unable to start activity ComponentInfo {com.example.bastiancorps.geoassistance / com.example.bastiancorps.geoassistance.productoActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.database.DatabaseReference com.google.firebase.database.DatabaseReference.child (java.lang.String) ' on a null object reference
This is the code of the activity:
public class productoActivity extends AppCompatActivity {
private List<producto> listaproductos = new ArrayList<producto>();
ArrayAdapter<producto> arrayAdapterproducto;
private EditText codigop, nombrep, preciop, stockp, tiendap;
private FirebaseDatabase midb;
private DatabaseReference midr;
private ProgressDialog progressDialog;
private FirebaseAuth mAuth;
private ListView milistap;
producto productosected;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_producto);
listarDatosproducto();
codigop = (EditText) findViewById(R.id.ETcodigop);
nombrep = (EditText) findViewById(R.id.ETnombrep);
preciop = (EditText) findViewById(R.id.ETpreciop);
stockp = (EditText) findViewById(R.id.ETstockp);
tiendap = (EditText) findViewById(R.id.ETtiendap);
milistap = (ListView) findViewById(R.id.listadeproductos);
progressDialog = new ProgressDialog(this);
mAuth = FirebaseAuth.getInstance();
midb = FirebaseDatabase.getInstance();
midr = FirebaseDatabase.getInstance().getReference();
milistap.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
productosected = (producto) parent.getItemAtPosition(position);
//codigop.setText(productosected.getCodigo());
nombrep.setText(productosected.getNombre());
preciop.setText(productosected.getPrecio());
stockp.setText(productosected.getStock());
tiendap.setText(productosected.getTienda());
}
});
}
private void listarDatosproducto() {
midr.child("producto").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
listaproductos.clear();
for (DataSnapshot datasnap : dataSnapshot.getChildren()){
producto p = datasnap.getValue(producto.class);
listaproductos.add(p);
arrayAdapterproducto = new ArrayAdapter<producto>(productoActivity.this, android.R.layout.simple_list_item_1, listaproductos);
milistap.setAdapter(arrayAdapterproducto);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
this is the Xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="12dp"
tools:context=".productoActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:text="Ingrese un producto"
android:textSize="22dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteY="0dp" />
<EditText
android:id="@+id/ETcodigop"
android:layout_width="336dp"
android:layout_height="35dp"
android:layout_marginEnd="8dp"
android:background="@drawable/txt_color"
android:hint="codigo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.109"
tools:ignore="MissingConstraints" />
<EditText
android:id="@+id/ETnombrep"
android:layout_width="336dp"
android:layout_height="35dp"
android:background="@drawable/txt_color"
android:hint="nombre del producto"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.207"
tools:ignore="MissingConstraints" />
<EditText
android:id="@+id/ETpreciop"
android:layout_width="337dp"
android:layout_height="35dp"
android:layout_marginEnd="8dp"
android:background="@drawable/txt_color"
android:hint="precio de venta"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.615"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.296"
tools:ignore="MissingConstraints" />
<EditText
android:id="@+id/ETstockp"
android:layout_width="336dp"
android:layout_height="35dp"
android:background="@drawable/txt_color"
android:hint="Stock"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.38"
tools:ignore="MissingConstraints" />
<EditText
android:id="@+id/ETtiendap"
android:layout_width="336dp"
android:layout_height="35dp"
android:layout_marginEnd="8dp"
android:background="@drawable/txt_color"
android:hint="tienda"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.55"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.474"
tools:ignore="MissingConstraints" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:text="Lista de productos"
android:textSize="22dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.586"
tools:ignore="MissingConstraints" />
<ListView
android:id="@+id/listadeproductos"
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
</LinearLayout>