【问题标题】:Launching new activity resets ViewPager启动新活动会重置 ViewPager
【发布时间】:2013-03-31 03:26:16
【问题描述】:

我有一个ViewPager,每个视图都是一个WebView。在Actionbar 我有一个菜单项,用户可以使用以下代码在默认浏览器中打开网页:

  startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(mUrl)));

但是,如果用户单击 WebView 中的链接,然后在其默认浏览器中打开该站点,然后返回到我的应用程序,则会向他们显示原始网页,而不是他们单击的页面。我考虑过使用startActivityForResult 而不是startActivity,但这只有在我自己的应用程序中打开一个新活动时才有效,对吧?

这是我ViewPager的代码:

片段

public class Browser extends SherlockFragment {
    private String mUrl;    


    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        activity = getActivity();

        setHasOptionsMenu(true);

        mUrl = GetUrl();

        mWebView = (WebView)getView().findViewById(R.id.webview);
        mWebView.loadUrl(mUrl);

        mWebView.setWebViewClient(new WebViewClient() {

            public void onPageFinished(WebView view, String url) {

            }

             @Override
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
                  view.loadUrl(url);

                 return true;
             }            
        });
    }

    @Override
    public boolean onOptionsItemSelected(final MenuItem item) 
    {
        if (item.getItemId() == R.id.open) {
                this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(mUrl)));
            return true;
        } else {
            return super.onOptionsItemSelected(item);
        }
    }

}

活动

public class BrowserPager extends SherlockFragmentActivity implements Interfaces.OnBrowserSetTitle {

    @Override
    public void onCreate(final Bundle icicle)
    {    
        super.onCreate(icicle);

        setContentView(R.layout.browser_pager);
    }
}

【问题讨论】:

    标签: android android-webview android-viewpager


    【解决方案1】:

    没关系,我是个白痴。我正在重置ActivityonResume 中的ViewPager,这导致网页重置。移动代码以将 ViewPager 重置为 onCreate 解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-25
      相关资源
      最近更新 更多