У меня есть категория и список продуктов.Я могу открыть детали еды из списка, но когда я щелкаю изображение на слайдере баннера, я получаю ошибку ссылки на нулевой объект.Я думаю, что получение удостоверения личности, но я не знаю, как это исправить.Вот моя структура базы огня;
это моя структура базы данных
Я получаю id продуктов в FoodDetail.class следующим образом
categoryID = getIntent().getStringExtra("CategoryID");
_foodId = getIntent().getStringExtra("FoodId");
database = FirebaseDatabase.getInstance();
food = database.getReference("Food/" + categoryID + "/" + _foodId);
Я отправляю намерения изFoodList, как это;
foodDetail.putExtra("FoodId", adapter.getItem(position).getFoodId());
foodDetail.putExtra("CategoryID", adapter.getItem(position).getMenuId());
и это установочный метод Slider для home.class;
private void setupSlider() {
mslider = findViewById(R.id.slider);
HashMap<String,String>image_list = new HashMap<>();
final DatabaseReference ref_banner = db.getReference("Banner");
ref_banner.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapShot : dataSnapshot.getChildren()) {
Banner banner = postSnapShot.getValue(Banner.class);
//gonna concat string name and id like
//PİZZA_01 => and gonna use PİZZA show description , 01 for food id to click
image_list.put(banner.getName() + "@@@" + banner.getFoodId(), banner.getImage());
}
for (String key : image_list.keySet()) {
String[] keySplit = key.split("@@@");
String nameOfFood = keySplit[0];
String idOfFood = keySplit[1];
//Create Slider
final TextSliderView textSliderView = new TextSliderView(getBaseContext());
textSliderView.description(nameOfFood)
.image(image_list.get(key))
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {
Intent intent = new Intent(Home.this, FoodDetail.class);
intent.putExtras(textSliderView.getBundle());
startActivity(intent);
}
});
//add extra bundle
textSliderView.bundle(new Bundle());
textSliderView.getBundle().putString( "FoodId", idOfFood);
Picasso picasso = Picasso.get();
textSliderView.setPicasso(picasso);
mslider.addSlider(textSliderView);
//remove event after finish
ref_banner.removeEventListener(this);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
mslider.setPresetTransformer(SliderLayout.Transformer.Background2Foreground);
mslider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
mslider.setCustomAnimation(new DescriptionAnimation());
mslider.setDuration(3000);
}
в чем мой вопрос, как узнать подробности еды?Я имею в виду, когда я нажимаю на изображение, я хочу перейти к деталям еды, которые я нажал.