Android onCreate(Bundle savedInstanceState)未恢复保存的数据-涉及mysql
活动1:选择BatchStep。使用MySQL数据库数据填充RecyclerView 活动2:DoneBy。在数据库中插入新数据的简单活动 活动1在活动2完成后重新加载,以显示更新的recyclerView项 我正在尝试在recyclerview活动1中保存滚动位置。我启动了一个新的活动2,但当我回调recyclerview活动1时,滚动位置未恢复Android onCreate(Bundle savedInstanceState)未恢复保存的数据-涉及mysql,android,onsaveinstancestate,Android,Onsaveinstancestate,活动1:选择BatchStep。使用MySQL数据库数据填充RecyclerView 活动2:DoneBy。在数据库中插入新数据的简单活动 活动1在活动2完成后重新加载,以显示更新的recyclerView项 我正在尝试在recyclerview活动1中保存滚动位置。我启动了一个新的活动2,但当我回调recyclerview活动1时,滚动位置未恢复 @Override public void onSaveInstanceState(Bundle savedInstanceState) {
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putInt(SCROLL,scrollpositionkeeper);
super.onSaveInstanceState(savedInstanceState);
Log.v(TAG,"scrollpositionsaved"+savedInstanceState);
}
当我启动新的活动2时,Logcat显示捆绑已保存且滚动位置已正确保存
活动2使用com.daimajia.swipe.SwipeLayout库从回收器适配器启动
活动1从活动2中回顾如下:
Intent intent1 = new Intent(DoneBy.this, SelectBatchStep.class);
活动1具有以下特点:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
scrollrecovered = savedInstanceState.getInt(SCROLL);
}
else {
scrollrecovered=0;
}
Log.v(TAG,"scrollpositionrecovered"+savedInstanceState);
setContentView(R.layout.activity_select_batch_step);
活动1出现在前面,logcat显示Bundle为null
为什么保存的捆绑包为空?可能重复感谢ericn的链接。我明白你的意思。我有意在活动2完成后开始新的活动1。那么,如何保存活动1的滚动位置?我需要刷新活动1中MySQL的数据,以显示在活动2期间插入的新数据。我认为您需要回调到活动1或注册BroadcastReceiver,简单而快速的方法是将一个标记设置为recycleView,标记为record position。user9672625您能详细说明您的答案吗?谢谢