Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将Firebase旧适配器方法转换为新适配器方法?_Android_Firebase_Firebase Realtime Database_Android Recyclerview_Firebaseui - Fatal编程技术网

Android 如何将Firebase旧适配器方法转换为新适配器方法?

Android 如何将Firebase旧适配器方法转换为新适配器方法?,android,firebase,firebase-realtime-database,android-recyclerview,firebaseui,Android,Firebase,Firebase Realtime Database,Android Recyclerview,Firebaseui,在我的应用程序的主屏幕上,我试图构建一个带有编辑文本的搜索视图。我在搜索视图下方创建了一个回收器视图。我的应用程序是一个音乐应用程序。所以我想建立一个功能,比如当用户从firebase搜索任何歌曲时,歌曲名称和歌曲艺术家应该显示在recycler视图中。所以我读了一个代码来做这个特殊的工作。但我面临的问题是,在我的代码中有一个FirebaseRecyclerAdapter方法,用于从我的搜索视图中从firebase获取值,但我的问题是它是旧的populateViewHolder方法,我想在cre

在我的应用程序的主屏幕上,我试图构建一个带有编辑文本的搜索视图。我在搜索视图下方创建了一个回收器视图。我的应用程序是一个音乐应用程序。所以我想建立一个功能,比如当用户从firebase搜索任何歌曲时,歌曲名称和歌曲艺术家应该显示在recycler视图中。所以我读了一个代码来做这个特殊的工作。但我面临的问题是,在我的代码中有一个FirebaseRecyclerAdapter方法,用于从我的搜索视图中从firebase获取值,但我的问题是它是旧的populateViewHolder方法,我想在createView和onBindViewHolderMethod上将此方法转换为新方法,但我不知道如何转换?所以,请帮助我改变这个方法,我想做同样的搜索视图工作。我不想更改gradle中的Firebase依赖项。所以最后的结论是,我想将下面给出的代码转换为新的FirebaseRecyclerAdapter方法

这是我的密码:-

 Query firebaseSearchQuery = mUserDatabase.orderByChild("name").startAt(searchText).endAt(searchText + "\uf8ff");

        FirebaseRecyclerAdapter<Users, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(

                Users.class,
                R.layout.list_layout,
                UsersViewHolder.class,
                firebaseSearchQuery

        ) {
            @Override
            protected void populateViewHolder(UsersViewHolder viewHolder, Users model, int position) {


                viewHolder.setDetails(getApplicationContext(), model.getName(), model.getStatus(), model.getImage());

            }
        };

        mResultList.setAdapter(firebaseRecyclerAdapter);
因此,如果您有任何解决方案,请帮助我。

如图所示,首先使用以下查询和类初始化FirebaseRecyclerOptions对象:

FirebaseRecyclerOptions<Users> options =
        new FirebaseRecyclerOptions.Builder<Users>()
                .setQuery(firebaseSearchQuery, Users.class)
                .build();

然后是您。

您正在使用非常旧版本的Firebase UI库。你应该使用最新的。我尝试了你的代码,但它没有从firebase加载数据
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(options) {
    @Override
    public ChatHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.list_layout, parent, false);

        return new UsersViewHolder(view);
    }

    @Override
    protected void onBindViewHolder(UsersViewHolder holder, int position, Users model) {
        viewHolder.setDetails(getApplicationContext(), model.getName(), model.getStatus(), model.getImage());
    }
};
mResultList.setAdapter(firebaseRecyclerAdapter);