繁体   English   中英

方向更改后,Android会保留选定的片段状态/加载的网址,

[英]Android keep selected fragment state / loaded url after orientation change,

我是零碎的新手,在理解和使用它们方面有很多问题。 我将尝试逐步描述我的问题:

  • 我从清单开始
  • 选择项目后,我在Webview中使用动态网址开始活动
  • 如果为纵向,则仅显示网络视图,如果为横向,则列表旁边显示
  • 在横向环境中,当我选择其他项目时,它会显示在网络视图中(检查代码)
  • 问题 :当我现在回到肖像时,显示的是第一个选定的项目,而不是最后一个。

如何更新活动,以便在更改方向后保留上次打开的网址?

if (fragment==null || ! fragment.isInLayout()) {

            Intent intent = new Intent(this.getActivity(), DetailViewActivity.class);
            intent.putExtra("link", urlforwebview);
            startActivity(intent);

        } else {

            DetailView detailFragment = 
                       (DetailView) 
                         getFragmentManager().findFragmentById(R.id.detailfragment);        
            detailFragment.changeWebviewURL(urlforwebview);
        } 

固定:

将此添加到我的detailfragment:

@Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putString("currentUrl", url);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    if (savedInstanceState != null) {
            // Restore last state for checked position.
        url = savedInstanceState.getString("currentUrl", "");
        changeWebviewURL(url);
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM