При удержании места в списке пользователь должен видеть напитки, связанные с этим местом.Я сделал попытку сделать это, однако, когда я удерживаю место, где происходит сбой приложения.
Вот соответствующий код для списка щелчков
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 в реальном времени: