RecyclerView不显示存储在Firebase中的数据

时间:2018-03-10 14:12:40

标签: android android-recyclerview recycler-adapter android-viewholder

目前我通过进行应用程序聊天来学习android工作室,但我陷入了一种情况。

我希望应用程序通过使用recyclerview显示在firebase中注册的所有用户,但事实上,活动正常,但活动中没有用户

的build.gradle

implementation 'com.google.firebase:firebase-auth:11.8.0'
implementation 'com.google.firebase:firebase-database:11.8.0'
implementation 'com.google.firebase:firebase-storage:11.8.0'
implementation 'com.firebaseui:firebase-ui-database:3.2.2'

AllFriendActivity.java

public class AllFriendActivity extends AppCompatActivity {

    private DatabaseReference mDatabaseReference;

    private Toolbar mToolbar;
    private RecyclerView mFriendList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all_friend);

        mToolbar = (Toolbar) findViewById(R.id.all_friend_toolbar);
        setSupportActionBar(mToolbar);
        getSupportActionBar().setTitle("All Friend");
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        mDatabaseReference = FirebaseDatabase.getInstance().getReference().child("User");

        mFriendList = (RecyclerView) findViewById(R.id.friend_list);
        mFriendList.setHasFixedSize(true);
        mFriendList.setLayoutManager(new LinearLayoutManager(this));

    }

    @Override
    protected void onStart() {
        super.onStart();

        FirebaseRecyclerOptions<Friend> options = new FirebaseRecyclerOptions.Builder<Friend>()
                .setQuery(mDatabaseReference, Friend.class)
                .build();

        FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Friend, FriendViewHolder>(options) {

            @NonNull
            @Override
            public FriendViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                View view = LayoutInflater.from(parent.getContext())
                        .inflate(R.layout.friend_layout, parent, false);
                Toast.makeText(AllFriendActivity.this, "Test Toast", Toast.LENGTH_SHORT).show();
                return new FriendViewHolder(view);
            }

            @Override
            protected void onBindViewHolder(@NonNull FriendViewHolder holder, int position, @NonNull Friend model) {

                holder.setName(model.getName());
                holder.setStatus(model.getStatus());

            }
        };

        mFriendList.setAdapter(adapter);

    }

    public static class FriendViewHolder extends RecyclerView.ViewHolder {

        View mView;

        public FriendViewHolder(View itemView) {
            super(itemView);

            mView = itemView;
        }

        public void setName(String name){
            TextView friendDisplayName = (TextView) mView.findViewById(R.id.friend_display_name);
            friendDisplayName.setText(name);
        }

        public void setStatus(String status){
            TextView friendStatus = (TextView) mView.findViewById(R.id.friend_status);
            friendStatus.setText(status);
        }

    }
}

Friend.java

public class Friend {
    String name;
    String status;
    String avatar;

    public Friend() {

    }

    public Friend(String name, String status, String avatar) {
        this.name = name;
        this.status = status;
        this.avatar = avatar;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
}

我在互联网上搜索解决方案,但仍无法解决问题

0 个答案:

没有答案