我知道有很多帖子和问题正在讨论并解决此问题。
但是我已经尝试了所有摆在我面前的解决方案,但是这些解决方案中没有一个解决了我的问题。
所以请原谅我:)
我使用recyclerView
的片段中有一个FirebaseUi adapter
当一个人单击一个问题并再次返回时,它有一个我要的问题列表,recyclerView
向下滚动到该问题。因此,我有意发送该职位,并在onActivityResult
中收到了该职位,但它不起作用。
我已经使用Handler并使用Timedowncounter
等待5秒并使用
mLayoutManager.smoothScrollToPosition(mRecyclerView,null,position);
并已使用
mRecyclerView.smoothScrollToPosition(position);
并已使用
scrollToPosition
甚至使用过
View recyclerView = findViewById(R.id.myView);
recyclerView.getViewTreeObserver()
.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//At this point the layout is complete and the
//dimensions of recyclerView and any child views are known.
//Remove listener after changed RecyclerView's height to prevent infinite loop
recyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
越来越多,什么也没发生
那解决方案是什么?
谢谢你:)
我的OnActivityResult
代码
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == Constants.TOPIC_INTENT_REQUEST)
{
int position = data.getExtras().getInt(Constants.POST_POSITION);
new Handler().postDelayed(() -> mLayoutManager.scrollToPositionWithOffset(position,30), 6000);
}
}
}
答案 0 :(得分:0)
解决方案是通过添加
holder.setIsRecyclable(false);
在onBindViewHolder中
这解决了所有问题
感谢您的帮助