【问题标题】:restore views state after reStart重新启动后恢复视图状态
【发布时间】:2015-10-13 03:47:11
【问题描述】:

当按下 Home 键时,应用程序进入后台,当我再次将其置于最前面时,一些按钮失去了可见性和文本状态。我该如何解决这个问题?,Activity reStart 获取被称为但不是 onCreate 因此 savedInstanceState 不可用。视图在 xml 中定义了它们的 id,它们的可见性和文本在代码中发生了变化。

【问题讨论】:

  • when I bring it to the front again, some buttons loose their visibility and text states 你的意思是在理想情况下还是你正在杀死应用程序进程?
  • 只需覆盖活动中的后退按钮,您的任务就会后退。 moveTaskToBack(true);
  • 应用程序没有被杀死,因为片段视图仍然完好无损。不调用 onDestroy。 onRestart 被调用。

标签: android views


【解决方案1】:

我试过这个适合我的接缝。不确定这是否是“正确”的做法。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mViewState = new Bundle();
}

@Override
protected void onPause() {
    super.onPause();
    mViewState.putInt("mainBtVis", mMainButtons_LL.getVisibility());
}

@Override
protected void onPostResume() {
    super.onPostResume();
    int vis = mViewState.getInt("mainBtVis");
    mYes_Bt.setVisibility((vis == 0 ? View.VISIBLE : vis == 4 ? View.INVISIBLE : View.GONE);    
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    相关资源
    最近更新 更多