это логин: это страница добавления еды: 

Вот мой код FoodInfo:
import com.google.firebase.database.IgnoreExtraProperties;
@IgnoreExtraProperties
public class FoodInfo {
public String foodname, foodprice, fooddesc, imageUrl, storename;
public FoodInfo(){
}
public FoodInfo(String foodname, String foodprice, String fooddesc, String imageUrl, String storename ) {
this.foodname = foodname;
this.foodprice = foodprice;
this.fooddesc = fooddesc;
this.imageUrl = imageUrl;
this.storename = storename;
}
public String getFoodname() {
return foodname;
}
public String getFoodprice() {
return foodprice;
}
public String getFooddesc() {
return fooddesc;
}
public String getImageUrl() {
return imageUrl;
}
public String getStorename() {
return storename;
}
public void setFoodname(String foodname) {
this.foodname = foodname;
}
public void setFoodprice(String foodprice) {
this.foodprice = foodprice;
}
public void setFooddesc(String fooddesc) {
this.fooddesc = fooddesc;
}
public void setImageUrl(String imageUrl) {
this.imageUrl = imageUrl;
}
}
Текстовое представление на странице добавления еды будет получать данные из редактируемого текста "введите адрес электронной почты", я использую
Intent intent = getIntent();
String StoreName = intent.getStringExtra ("Storename");
Теперь моя проблема в том, что когда я нажимаю кнопку меню (которая является страницей добавления еды), я хочу, чтобы отображались только данные, у которых есть тот же дочерний элемент с текстовым просмотром (на странице добавления еды там). Итак, я использую orderbychild, это правильно?
И я поместил Storename в equalTo (), но это не работает. И каждый раз, когда я нажимаю кнопку меню, отображается сообщение «Использование неуказанного индекса. Рассмотрите возможность добавления '" .indexOn ":" storename "' в FoodInfo в правила безопасности и базы данных Firebase для повышения производительности»
Пожалуйста, добавьте свой код к самому вопросу.
Заказ по ребенку должен работать нормально. Вы можете проверить по -
Log.i("Value", dataSnapshot.getValue().toString());
Если ваше намерение работает правильно, то есть в запросе должно быть указано имя хранилища как "Gg". Вы получите необходимые данные.
Значит, проблема может быть в модели (FoodInfo.class). Так поделитесь моделью (FoodInfo.class) ..
я уже добавил коды FoodInfo.class
какой результат это дает? Log.i ("Значение", dataSnapshot.getValue (). ToString ());
где я должен поместить этот код?
query.addChildEventListener (новый ChildEventListener () {@Override public void onChildAdded (DataSnapshot dataSnapshot, String s) {Toast.makeText (this, «Значение» + dataSnapshot.getValue (). toString, Toast.LENGTHw_SHORT); Log. .i ("Значение", dataSnapshot.getValue (). toString ());} и прокомментируйте эту строку mfoodInfo.add (dataSnapshot.getValue (FoodInfo.class));
sry, я новичок в студии Android, в этом коде Toast.makeText (this, "Value" + dataSnapshot.getValue (). toString, Toast.LENGTH_SHORT) .show (); .toString нужно правильно поместить (), после того, как положить (), что я должен поместить внутрь ()
Запрос query = databaseReference.orderByChild ("имя хранилища"). EqualTo (StoreNam e); query.addChildEventListener (new ChildEventListener () {@Override public void onChildAdded (DataSnapshot dataSnapshot, String s) {mfoodinfo.add (dataSnapshot.getValue (FoodInfo.class)); Toast.makeText (this, "Value.getSnapshot" + dataV ) .toString (), Toast.LENGTH_SHORT) .show (); Log.i ("Значение", dataSnapshot.getValue (). toString ());}
какой результат вы получаете?
Невозможно восстановить метод makeText (анонимный com.google.firebase.database.ChildEventListner, java.lang, str ing, int)
не могли бы вы дать мне свой адрес электронной почты? так как я не могу получить никаких уведомлений, если я не открывал переполнение стека
я уже написал тебе по электронной почте
добавить foodAdapter.notifyDataSetChanged (); onChildAdded после mfoodinfo.add (dataSnapshot.getValue (FoodInfo.class)); и твоя проблема будет решена
это работает, тк для спасения моей жизни
на самом деле теперь все продавцы используют один и тот же рециклпросмотр, поэтому, когда я нажимаю кнопку меню, я хочу, чтобы отображались только данные, добавленные этим продавцом, поэтому я передаю имя продавца, чтобы добавить страницу с едой и сохранить ее в Firebase FoodInfo