从另一个片段返回时,返回到屏幕上的当前位置

时间:2016-06-29 22:30:40

标签: android fragment android-recyclerview onitemclicklistener onscrolllistener

我有一个片段,其中包含在recyclerView中显示的项目列表。列表可以无休止地滚动。每个项目都是可点击的,并打开另一个片段及其描述。我的问题是,当我点击任何项目并返回时,我想返回到屏幕上的相同位置。现在我总是回到屏幕的顶部,即使我滚动很多项目。

 private void setScrollListener() {

    recyclerView.addOnScrollListener(new EndlessRecyclerViewScrollListener(linearLayoutManager) {
        @Override
        public void onLoadMore(int page, int totalItemsCount) {

            apiCall(pageNumber++, 10);
        }
    });
}
private void listClickListener() {

    if (myAdapter != null) {

        myAdapter.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(View itemView, int position) {

                Items items = itemsList.get(position);
                setDetailsFragment(items.getDescription());

            }
        });
    }

}

 private void setDetailsFragment(String description) {
    DetailsFragment detailsFragment = new DetailsFragment();
    detailsFragment.setDescription(description);
    FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
    fragmentTransaction.replace(R.id.frag_container, detailsFragment, "TAG");
    fragmentTransaction.addToBackStack("TAG");
    fragmentTransaction.commit();

1 个答案:

答案 0 :(得分:0)

这是因为您要替换以前的片段。 如果您不想重置前一个片段的状态

,请添加下一个片段而不是替换

更改为 -

 border-image:   
  linear-gradient(to bottom, black, rgb(your container bgColor here)) 20; 
fragmentTransaction.add(R.id.frag_container, detailsFragment, "TAG"); 中的