Я делаю приложение, похожее на Instagram, в котором есть вкладки для каждого пользователя.Первая вкладка показывает общую информацию о пользователе.На второй вкладке должны отображаться все сообщения пользователей внутри представления переработчика.Проблема в том, что это не так.Вкладка остается пустой и на экране ничего не отображается.У меня есть главная страница, на которой этот вид фида с постами каждого пользователя работает нормально, и у меня есть почти идентичный код только для постов пользователей.Я думаю, что главная проблема заключается в том, что, поскольку это активность с вкладками, представление переработчика находится внутри фрагмента.Класс java для фрагмента сильно отличается, и я не знаю, как использовать тот же код из моего другого действия.Вот мой код внутри этого конкретного фрагмента.Я взял некоторые части, так как код был довольно длинным, но я надеюсь, что вы поймете основную идею, чего я пытаюсь достичь и почему он не работает так же, как в обычной деятельности.Заранее спасибо.:)
private RecyclerView spotsList;
private FirebaseAuth firebaseAuth;
private DatabaseReference postsRef, userReference, likesRef, seenRef;
public static String thisPagesUsersId = null;
private String currentUserId;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_users_spots, container, false);
firebaseAuth = FirebaseAuth.getInstance();
currentUserId = firebaseAuth.getCurrentUser().getUid();
postsRef = FirebaseDatabase.getInstance().getReference().child("Posts");
userReference = FirebaseDatabase.getInstance().getReference().child("Users");
likesRef = FirebaseDatabase.getInstance().getReference().child("Likes");
seenRef = FirebaseDatabase.getInstance().getReference().child("Seen");
spotsList = (RecyclerView)view.findViewById(R.id.usersSpotsRV);
spotsList.setHasFixedSize(true);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
linearLayoutManager.setReverseLayout(true);
linearLayoutManager.setStackFromEnd(true);
spotsList.setLayoutManager(linearLayoutManager);
displaySpots();
// Inflate the layout for this fragment
return view;
}
//DISPLAY USERS ALL SPOTS
public void displaySpots()
{
Query currentUserQuery = postsRef.orderByChild("userId").startAt(thisPagesUsersId).endAt(thisPagesUsersId + "\uf8ff");
FirebaseRecyclerAdapter<Posts, postsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Posts, postsViewHolder>
(
Posts.class, R.layout.spot_layout, postsViewHolder.class, currentUserQuery
)
{
@Override
protected void populateViewHolder(final postsViewHolder viewHolder, Posts model, int position)
{
final String postKey = getRef(position).getKey();
final DatabaseReference currentPostRef = FirebaseDatabase.getInstance().getReference().child("Posts").child(postKey);
viewHolder.setDetails(model.getDetails());
viewHolder.setDate(model.getDate());
viewHolder.setImage(model.getImage());
viewHolder.setManufacturer(model.getManufacturer());
viewHolder.setModel(model.getModel());
viewHolder.setProfileImage(model.getProfileImage());
viewHolder.setTime(model.getTime());
viewHolder.setUsername(model.getUsername());
viewHolder.setLikeButtonStatus(postKey);
viewHolder.setSeenButtonStatus(postKey);
}
};
spotsList.setAdapter(firebaseRecyclerAdapter);
}
public static class postsViewHolder extends RecyclerView.ViewHolder
{
View mView;
TextView detailsTextView;
ImageView infoIW;
ImageView menuDotsIW;
ImageView locationIW;
ImageView likeIW;
ImageView seenIW;
TextView likesAmountTV;
TextView seenAmountTV;
int likesCount;
int seenCount;
String currentUserId;
DatabaseReference likesRef;
DatabaseReference seenRef;
public postsViewHolder(View itemView)
{
super(itemView);
mView = itemView;
detailsTextView = (TextView)mView.findViewById(R.id.postDetailTV);
detailsTextView.setVisibility(View.GONE);
infoIW = (ImageView)mView.findViewById(R.id.postInfoIW);
menuDotsIW = (ImageView)mView.findViewById(R.id.menuDotsIW);
locationIW = (ImageView)mView.findViewById(R.id.postLocateIW);
likeIW = (ImageView)mView.findViewById(R.id.likeIW);
seenIW = (ImageView)mView.findViewById(R.id.seenIW);
likesAmountTV = (TextView)mView.findViewById(R.id.likesAmountTV);
seenAmountTV = (TextView)mView.findViewById(R.id.seenTV);
likesRef = FirebaseDatabase.getInstance().getReference().child("Likes");
seenRef = FirebaseDatabase.getInstance().getReference().child("Seen");
currentUserId = FirebaseAuth.getInstance().getCurrentUser().getUid();
}
//SET ALL THE TEXTS AND IMAGES
public void setDate(String date)
{
TextView postDate = (TextView) mView.findViewById(R.id.postDateTV);
postDate.setText(date);
}
public void setDetails(String details)
{
TextView details_text = (TextView) mView.findViewById(R.id.postDetailTV);
details_text.setText(details);
}
public void setImage(String image)
{
ImageView profileImage = (ImageView) mView.findViewById(R.id.postTheImage);
Picasso.get().load(image).into(profileImage);
}
public void setManufacturer(String manufacturer)
{
TextView manufact_name = (TextView) mView.findViewById(R.id.postManufactTV);
manufact_name.setText(manufacturer);
}
public void setModel(String model)
{
TextView model_name = (TextView) mView.findViewById(R.id.postModelTV);
model_name.setText(model);
}
public void setProfileImage(String profileImage)
{
CircleImageView profImage = (CircleImageView) mView.findViewById(R.id.postProfpicIW);
Picasso.get().load(profileImage).into(profImage);
}
public void setTime(String time)
{
TextView postTime = (TextView) mView.findViewById(R.id.postTimeTV);
postTime.setText(time);
}
public void setUsername(String username)
{
TextView user_name = (TextView) mView.findViewById(R.id.postUsernameTV);
user_name.setText(username);
}
}