Я хотел помочь мне разработать средство выбора номера со списком, который я получаю из firebase, этот код теперь выдает мне ошибку, и если я удаляю "setMaxValue and MinValue", он приносит мне только одно значение.
CBSList = new ArrayList<>();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Posts").child(post.getIDPost()).child("CBS");
reference.addValueEventListener( new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
CBSList.clear();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
CBSList.add(snapshot.getKey());
String array[] = new String[CBSList.size()];
for(int j =0;j<CBSList.size();j++){
array[j] = CBSList.get(j);
}
numberPicker.setMaxValue(CBSList.size() - 1);
numberPicker.setMinValue(0);
numberPicker.setDisplayedValues(array);
numberPicker.setWrapSelectorWheel(true);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
} );
ошибка, если я оставлю две строки min и max
E / AndroidRuntime: FATAL EXCEPTION: main
Процесс: com.example.ibra.kl, PID: 13463
java.lang.ArrayIndexOutOfBoundsException: length = 1; Индекс = 1
на android.widget.NumberPicker.ensureCachedScrollSelectorValue (NumberPicker.java:1900)
на android.widget.NumberPicker.initializeSelectorWheelIndices (NumberPicker.java:1715)
на android.widget.NumberPicker.setMaxValue (NumberPicker.java:1471)
на com.example.ibra.kl.ProductoPostActivity $ 2.onDataChange (ProdActivity.java:143)
на com.google.firebase.database.core.ValueEventRegistration.fireEvent (com.google.firebase: firebase-database @@ 16.1.0: 75)
на com.google.firebase.database.core.view.DataEvent.fire (com.google.firebase: firebase-database @@ 16.1.0: 63)
на com.google.firebase.database.core.view.EventRaiser $ 1.run (com.google.firebase: firebase-database @@ 16.1.0: 55)
на android.os.Handler.handleCallback (Handler.java:789)
на android.os.Handler.dispatchMessage (Handler.java:98)
на android.os.Looper.loop (Looper.java:164)
на android.app.ActivityThread.main (ActivityThread.java:6944)
в java.lang.reflect.Method.invoke (родной метод)
на com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:327)
на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)