Пользователи не отображаются в программе recyclerView после ввода псевдонима - PullRequest
0 голосов
/ 17 марта 2020

Я делаю приложение android с java, используя android studio (SDK 29). Как только я go внутри экрана поиска, отображаются все пользователи. Но как только я ввожу псевдоним пользователя, все они исчезают, не показывая тот, который я искал.

Я запускаю отладчик, чтобы лучше понять, что происходит, и после ввода псевдонима в поле поиска отладчик отображает следующее сообщение:

W / Glide: Не удалось найти GeneratedAppGlideModule. Вы должны включить зависимость компиляции annotationProcessor от com.github.bumptech.glide: compiler в ваше приложение, а аннотированная реализация AppGlideModule @GlideModule или LibraryGlideModules будут беззвучно игнорироваться. I / censapplicatio: компилятор выделит 4 МБ для компиляции void android .widget. . (android .content.Context, android .util.AttributeSet, int, int) I / AssistStructure: сведенные окончательные вспомогательные данные: 5580 байт, содержащие 1 windows, 23 просмотра W / ExifInterface: прекратить чтение файла с неправильное смещение может вызвать бесконечность l oop: 0 W / ExifInterface: прекратить чтение файла, поскольку неправильное смещение может вызвать бесконечность l oop: 0 D / ViewRootImpl@7a531ea [UserProfile]: MSG_RESIZED: frame = [0, 0] [1080,2340] ci = [0,83] [0,126] vi = [0,83] [0,1003] или = 1 Вт / скольжение: загрузка не выполнена для класса размера [131x131] com.bumptech.glide .load.engine.GlideException: Не удалось загрузить ресурс I / censapplicatio: Компилятор выделил 4 МБ для компиляции void android .view.ViewRootImpl.performTraversals () Отключен от целевой виртуальной машины, адрес: 'localhost: 8603', транспорт: 'socket'

Вот строка кода, где я вызываю Glide в адаптер:

        Glide.with(mContext).load(user.getImage()).into(viewHolder.image_profile);

А вот мой метод SearchUsers () :

private void searchUsers(String s){

    Query query = FirebaseDatabase.getInstance().getReference("Users").orderByChild("nickname")
            .startAt(s)
            .endAt(s+"\uf8ff");

    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            mUsers.clear();
            for (DataSnapshot snapshot : dataSnapshot.getChildren()){
                User user = snapshot.getValue(User.class);
                mUsers.add(user);
            }

            userAdapter.notifyDataSetChanged();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
}

Я проверил более 10 возможных решений, но ни одно из них не сработало.

Я не уверен, что ошибка связана с самим кодом или какие-либо проблемы, связанные с зависимостями с Glide .

Заранее спасибо.

1 Ответ

1 голос
/ 17 марта 2020

Первая аннотация импорта:

repositories {
    mavenCentral()
}

dependencies {
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
}

Syn c Project, затем создание класса

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;

@GlideModule
public class GlideApp extends AppGlideModule {

}

и после этого я создаю / перестраиваю проект

Как я вижу, вы работаете с Firebase Store, используя следующий глидмодуль:

@GlideModule
public class MyAppGlideModule extends AppGlideModule {

    @Override
    public void registerComponents(Context context, Glide glide, Registry registry) {
        // Register FirebaseImageLoader to handle StorageReference
        registry.append(StorageReference.class, InputStream.class,
                new FirebaseImageLoader.Factory());
    }
}
...