【发布时间】:2020-11-11 06:41:03
【问题描述】:
我已经使用 Framelayout 在主要活动上加载了回收站视图,如果点击回收站项目,当我按下 recyclerview 自动滚动到顶部时转到另一个活动,但我想要以前的滚动位置帮助
请用代码告诉我,我是新手,请在我的代码中添加解决方案
public class Defence_Fragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;
RecyclerView recyclerView;
Defence_Adapter defence_adapter;
public Defence_Fragment() {
}
public static Defence_Fragment newInstance(String param1, String param2) {
Defence_Fragment fragment = new Defence_Fragment();
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);
setHasOptionsMenu(true);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_defence_, container, false);
recyclerView = view.findViewById(R.id.rcviewdef);
recyclerView.setLayoutManager(new GridLayoutManager(getContext(),4));
FirebaseRecyclerOptions<Items_Models> options =
new FirebaseRecyclerOptions.Builder<Items_Models>()
.setQuery(FirebaseDatabase.getInstance().getReference().child("Defence"), Items_Models.class)
.build();
defence_adapter = new Defence_Adapter(options,getContext());
recyclerView.setAdapter(defence_adapter);
return view;
}
@Override
public void onStart() {
super.onStart();
defence_adapter.startListening();
}
@Override
public void onStop() {
super.onStop();
defence_adapter.stopListening();
}
}
【问题讨论】:
-
检查这个。在 Fragment 中使用 onBackPressed()。 stackoverflow.com/a/46425415。并将当前位置保存在 Fragment 中的 onBackPressed() 中
标签: android android-recyclerview