Я использую базу данных Firebase и Glide для доступа к изображениям, хранящимся в хранилище Firebase. Но когда я запускаю код, он, кажется, дублирует элементы после первого 6. Вот моя база данных ref < /p>
ref = db.getReference().child("LOGOS");
< /code>
, который в моей базе данных выглядит так < /p>
{
"70s": "My FirebaseStorage https web address",
"80s": "My FirebaseStorage https web address",
"90s": "My FirebaseStorage https web address",
"COMMERCIAL": "My FirebaseStorage https web address",
"DANCE": "My FirebaseStorage https web address",
"HIPHOP": "My FirebaseStorage https web address",
"MASHUP": "My FirebaseStorage https web address",
"NEWS": "My FirebaseStorage https web address"
}
< /code>
Тогда вот мое кодирование < /p>
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
Genre_Adapter adapter;
imageUrl.clear();
for (DataSnapshot snapa : snapshot.getChildren()) {
String logo = snapa.getValue(String.class);
imageUrl.add(logo);
// I've added a Log here to see that the data returns the right values and it
// does, but when loaded in to the list view it repeats.
String key = snapa.getKey();
Log.e("KEYS", key);
< /code>
Это значения, возвращаемые в моем журнале < /p>
this is what is returned when i log.e the string key
2022-08-15 11:47:08.958 19751-19751/com.p9p.radioify E/KEYS: 70S
2022-08-15 11:47:08.959 19751-19751/com.p9p.radioify E/KEYS: 80S
2022-08-15 11:47:08.959 19751-19751/com.p9p.radioify E/KEYS: 90S
2022-08-15 11:47:08.959 19751-19751/com.p9p.radioify E/KEYS: COM
2022-08-15 11:47:08.959 19751-19751/com.p9p.radioify E/KEYS: DANCE
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: DRUM & BASS
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: HIPHOP
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: MASHUP
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: NEWS
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: TRANCE
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: UNITEDKINGDOM
< /code>
Здесь я конвертирую в массив для моего класса адаптера < /p>
imageurl = imageUrl.toArray(new String[imageUrl.size()]);
adapter = new Genre_Adapter(getContext(), imageurl);
}#
adapter = new Genre_Adapter(getContext(), imageurl);
mlist.setAdapter(adapter);
mlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
genre_list_item gli = new genre_list_item();
Bundle bundle = new Bundle();
bundle.putString("Genre", btntitle.get(position));
Log.i("genre_title", btntitle.get(position));
gli.setArguments(bundle);
getActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.frame1, gli, "genre_list_item")
.addToBackStack(null).commit();
}
< /code>
Это мой класс адаптера < /p>
public Genre_Adapter(Context context,String[]logo){
this. context = context;
this.logo = logo;
}
@Override
public int getCount() {
return logo.length;
}
@Override
public Object getItem(int position) {
return logo[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final View row;
if (convertView == null) {
row = LayoutInflater.from(parent.getContext()).inflate(R.layout.genre, parent, false);
imageView = row.findViewById(R.id.image);
} else {
row = convertView;
}
Glide.with(context).load(logo[position]).into(imageView);
return (row);
}
< /code>
** edit < /strong>
Я попробовал эти ответы сегодня. Ничто из этого не сработало.
Почему ListView повторил каждый 6 -й пункт?>
Подробнее здесь: https://stackoverflow.com/questions/733 ... -few-items
База данных Firebase или My ListView - дублировать данные после первых нескольких элементов ⇐ Android
Форум для тех, кто программирует под Android
1759695317
Anonymous
Я использую базу данных Firebase и Glide для доступа к изображениям, хранящимся в хранилище Firebase. Но когда я запускаю код, он, кажется, дублирует элементы после первого 6. Вот моя база данных ref < /p>
ref = db.getReference().child("LOGOS");
< /code>
, который в моей базе данных выглядит так < /p>
{
"70s": "My FirebaseStorage https web address",
"80s": "My FirebaseStorage https web address",
"90s": "My FirebaseStorage https web address",
"COMMERCIAL": "My FirebaseStorage https web address",
"DANCE": "My FirebaseStorage https web address",
"HIPHOP": "My FirebaseStorage https web address",
"MASHUP": "My FirebaseStorage https web address",
"NEWS": "My FirebaseStorage https web address"
}
< /code>
Тогда вот мое кодирование < /p>
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
Genre_Adapter adapter;
imageUrl.clear();
for (DataSnapshot snapa : snapshot.getChildren()) {
String logo = snapa.getValue(String.class);
imageUrl.add(logo);
// I've added a Log here to see that the data returns the right values and it
// does, but when loaded in to the list view it repeats.
String key = snapa.getKey();
Log.e("KEYS", key);
< /code>
Это значения, возвращаемые в моем журнале < /p>
this is what is returned when i log.e the string key
2022-08-15 11:47:08.958 19751-19751/com.p9p.radioify E/KEYS: 70S
2022-08-15 11:47:08.959 19751-19751/com.p9p.radioify E/KEYS: 80S
2022-08-15 11:47:08.959 19751-19751/com.p9p.radioify E/KEYS: 90S
2022-08-15 11:47:08.959 19751-19751/com.p9p.radioify E/KEYS: COM
2022-08-15 11:47:08.959 19751-19751/com.p9p.radioify E/KEYS: DANCE
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: DRUM & BASS
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: HIPHOP
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: MASHUP
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: NEWS
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: TRANCE
2022-08-15 11:47:08.960 19751-19751/com.p9p.radioify E/KEYS: UNITEDKINGDOM
< /code>
Здесь я конвертирую в массив для моего класса адаптера < /p>
imageurl = imageUrl.toArray(new String[imageUrl.size()]);
adapter = new Genre_Adapter(getContext(), imageurl);
}#
adapter = new Genre_Adapter(getContext(), imageurl);
mlist.setAdapter(adapter);
mlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
genre_list_item gli = new genre_list_item();
Bundle bundle = new Bundle();
bundle.putString("Genre", btntitle.get(position));
Log.i("genre_title", btntitle.get(position));
gli.setArguments(bundle);
getActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.frame1, gli, "genre_list_item")
.addToBackStack(null).commit();
}
< /code>
Это мой класс адаптера < /p>
public Genre_Adapter(Context context,String[]logo){
this. context = context;
this.logo = logo;
}
@Override
public int getCount() {
return logo.length;
}
@Override
public Object getItem(int position) {
return logo[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final View row;
if (convertView == null) {
row = LayoutInflater.from(parent.getContext()).inflate(R.layout.genre, parent, false);
imageView = row.findViewById(R.id.image);
} else {
row = convertView;
}
Glide.with(context).load(logo[position]).into(imageView);
return (row);
}
< /code>
** edit < /strong>
Я попробовал эти ответы сегодня. Ничто из этого не сработало.
Почему ListView повторил каждый 6 -й пункт?>
Подробнее здесь: [url]https://stackoverflow.com/questions/73359874/firebase-database-or-my-listview-is-duplicating-data-after-first-few-items[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия