为什么在我的Java程序中的好友列表不显示?

问题描述 投票:1回答:1

的好友列表片段

public class FriendsFragment extends Fragment {


private RecyclerView mFriendList;

private DatabaseReference mFriendsDatabase;

private FirebaseAuth mAuth;

private String mCurrent_user_id;

private View mMainView;

private String user_id;

public FriendsFragment() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

   mMainView = inflater.inflate(R.layout.fragment_friends, container, false);

   mFriendList = (RecyclerView) mMainView.findViewById(R.id.listfriends);
   mCurrent_user_id = mAuth.getCurrentUser().getUid();

//路径

   mFriendsDatabase = FirebaseDatabase.getInstance().getReference().child("Friends").child(mCurrent_user_id);

//循环查看

   mFriendList.setHasFixedSize(true);
   mFriendList.setLayoutManager(new LinearLayoutManager(getContext()));

//返回主视图

   return mMainView;


}

//在开始

@Override
public void onStart() {
    super.onStart();
    FirebaseRecyclerOptions<Friends> options =
            new FirebaseRecyclerOptions.Builder<Friends>()
                    .setQuery(mFriendsDatabase,Friends.class)
                    .setLifecycleOwner(this)
                    .build();

    FirebaseRecyclerAdapter<Friends, FriendsViewHolder> friendsRecyclerViewAdapter = new FirebaseRecyclerAdapter<Friends, FriendsViewHolder>(options){

        @NonNull
        @Override
        public FriendsViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
            return new FriendsViewHolder(LayoutInflater.from(viewGroup.getContext())
                    .inflate(R.layout.friendlist, viewGroup, false));
        }

        @Override
        protected void onBindViewHolder(@NonNull FriendsViewHolder holder, int position, @NonNull Friends model) {

            holder.setDate(model.getDate());

            //Will get data from user choosen
            //final String user_id = getRef(position).getKey();

        }
    };

    mFriendList.setAdapter(friendsRecyclerViewAdapter);

}

//方法结束调用onStart

public static class FriendsViewHolder extends RecyclerView.ViewHolder{

    View mView;

    public FriendsViewHolder(@NonNull View itemView) {
        super(itemView);

        mView = itemView;
    }

    public void setDate(String date){
        TextView dateOfFriend=(TextView) mView.findViewById(R.id.friend_single_status);
        dateOfFriend.setText(date);
    }

}
}

//友类我走到哪里得到字符串数据

public class Friends {

public String date;

public Friends(){

}

public Friends(String date) {
    this.date = date;
}

public String getDate() {
    return date;
}

public void setDate(String date) {
    this.date = date;
}
}

火力地堡数据库结构的图像:

enter image description here

我不知道是什么问题。我是新Android上。

java android android-studio android-fragments
1个回答
0
投票

你是不是设置了RecyclerView适配器。

mRV.setLayoutManager(new LinearLayoutManager(getContext()); 
mRV.setAdapter(new MyAdapterRV());

你在你在onStart()方法的适配器。让全球公众即,添加行onCreateView()

mFriendList.setAdapter(friendsRecyclerViewAdapter);

更多关于回收站浏览次数:在Android中,如果你想显示一个长长的清单,你可以使用回收视图。一个RecyclerView将膨胀(创建)子视图和管理向上滚动和向下列表。回收者视图需要4件事情:

  1. 从布局文件参考
  2. 布局管理器来告诉它如何显示子视图(代码使用LinearLayoutManager将在一个垂直列表显示每个项目一个在另一个之下)
  3. 可采取的实际数据(你的好友列表)和分配(绑定)适配器它里面RecyclerView子视图
  4. 将存储每个子视图的引用的ViewHolder类
© www.soinside.com 2019 - 2024. All rights reserved.