Извлечение значений listView из базы данных Firebase Realtime в Alertdialog на longclicklistner - PullRequest
0 голосов
/ 16 февраля 2019

При удержании места в списке пользователь должен видеть напитки, связанные с этим местом.Я сделал попытку сделать это, однако, когда я удерживаю место, где происходит сбой приложения.

Вот соответствующий код для списка щелчков

listViewVenuesMain.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, int i, long l) {

            Venue venue = venues.get(i);

            showDrinkList(venue.getVenueName());
            return false;
        }
    });

Вот связанныйкод для "showDrinkList":

private void showDrinkList(final String venueName) {
    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
    LayoutInflater inflater = getLayoutInflater();

    final View dialogView = inflater.inflate(R.layout.drink_list, null);

    dialogBuilder.setView(dialogView);

    //Necessary to get list
    listViewDrinksMain = (ListView) dialogView.findViewById(R.id.listViewDrinksMain);
    drinks = new ArrayList<>();

    String id = databaseVenues.push().getKey();
    databaseDrinks = FirebaseDatabase.getInstance().getReference("drinks").child(id);

    dialogBuilder.setTitle(venueName + "Deals");

    final AlertDialog alertDialog = dialogBuilder.create();
    alertDialog.show();
}

Вот журнал сбоев:

02-16 20:46:40.332 14739 14739 E AndroidRuntime: FATAL EXCEPTION: main
02-16 20:46:40.332 14739 14739 E AndroidRuntime: Process com.example.myapplication, PID: 14739
02-16 20:46:40.332 14739 14739 E AndroidRuntime: java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at com.google.firebase.database.DatabaseReference.child(Unknown Source)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at com.example.myapplication.UserMainPageActivity.showDrinkList(UserMainPageActivity.java:115)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at com.example.myapplication.UserMainPageActivity.access$000(UserMainPageActivity.java:28)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at com.example.myapplication.UserMainPageActivity$1.onItemLongClick(UserMainPageActivity.java:72)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at android.widget.AbsListView.performLongPress(AbsListView.java:3158)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at android.widget.AbsListView$CheckForLongPress.run(AbsListView.java:3090)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:746)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:95)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:148)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:5443)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
02-16 20:46:40.332 14739 14739 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

Структура базы данных Firebase в реальном времени:

enter image description here

...