当我添加帖子时,我想显示更新的页面列表



我想在添加post

时滚动位置这是一个代码

我想我使用scrolltopposition函数,但在使用这个之前,我必须定义RecyclerView,但在这个类中,我有一个定义RecyclerView的问题,因为我不知道什么是一个正确的变量添加到Recycler视图ex) RecyclerView rv;房车= ? ?

private void addPost(Post post) {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("Posts").push();

// get post unique ID and upadte post key
String key = myRef.getKey();
post.setPostKey(key);
// add post data to firebase database
myRef.setValue(post).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
popupClickProgress.setVisibility(View.INVISIBLE);
popupAddBtn.setVisibility(View.VISIBLE);
// illegal 오류 해결 수정
if(popAddPost!=null&&popAddPost.isShowing()){
popAddPost.dismiss();
}
RecyclerView rv;
rv.getLayoutManager().scrollToPosition(0);
}
});
}

但是我不能在这个类中使用RecyclerView。那我该怎么解决这个问题?在其他课程中,我使用了Recycler View这里有一个代码

RecyclerView postRecyclerView ;
PostAdapter postAdapter;
FirebaseDatabase firebaseDatabase;
DatabaseReference databaseReference;
List<Post> postList;

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

// TODO: Rename and change types and number of parameters
public static HomeFragment newInstance(String param1, String param2) {
HomeFragment fragment = new HomeFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
LinearLayoutManager lin = new LinearLayoutManager(getActivity());
lin.setStackFromEnd(true);
lin.setReverseLayout(true);
View fragmentView = inflater.inflate(R.layout.fragment_home, container, false);
postRecyclerView = fragmentView.findViewById(R.id.postRV);
postRecyclerView.setLayoutManager(lin);
postRecyclerView.setHasFixedSize(true);
firebaseDatabase = FirebaseDatabase.getInstance();
databaseReference = firebaseDatabase.getReference("Posts");
return fragmentView;
}

我想也许我使用这个postRecyclerView变量,或任何其他解决方案在这里?我是初学者,请给我一些提示。

所以根据我的理解,当您向该列表(我想是数组)添加新项目时,您想要更新回收者视图。使用updatater函数。你可以定义任何你想要的回收站视图,rv工作得很好。您可以使用Live Data来处理您提供给回收器视图的数据。看看这个,看看它是否在某些方面对你有帮助。https://medium.com/@atifmukhtar recycler-view-with-mvvm-livedata-a1fd062d2280