动画与视图鳍状肢浏览网页视图

时间:2011-11-23 15:19:16

标签: android viewflipper

我想做一个动画来浏览网页浏览量,为此,我使用viewflipper,当我用布局工作制作动画时,但是使用webview,它不起作用,我需要有经验的人的帮助,这是我的代码(我只复制存在问题的部分):

这是带布局的代码,效果很好:

   vf = (ViewFlipper) findViewById(R.id.details);
   LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   int layouts[] = new int[] {R.layout.layout_page1, R.layout.layout_page2, R.layout.layout_page3};

    for (int i=0; i<layouts.length; i++) {
        View vw = vi.inflate(layouts[i], null);     
        vf.addView(vw);
    }

以下是WebView的代码不起作用:

    vf = (ViewFlipper) findViewById(R.id.details);
    WebView MyWebView[] =new WebView[2];

    MyWebView[0] = (WebView) findViewById(R.id.mproof);
    MyWebView[0].setWebViewClient(new WebViewClient());
    MyWebView[0].getSettings().setJavaScriptEnabled(true);
    MyWebView[0].loadUrl("http://www.google.com");

    MyWebView[1] = (WebView) findViewById(R.id.example);
    MyWebView[1].setWebViewClient(new WebViewClient());
    MyWebView[1].getSettings().setJavaScriptEnabled(true);
    WebView[1].loadUrl("http://www.hotmail.com");  

    LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    //int layouts[] = new int[] {R.layout.layout_page1, R.layout.layout_page2, R.layout.layout_page3};

    for (int i=0; i<2; i++) {
        vf.addView(MyWebView[i]);
    }

调试器在“vf.addView(MyWebView[i]);”之后停止

1 个答案:

答案 0 :(得分:1)

在同一布局xml中添加两个webview,视图翻转器会导致一些问题。

在第一个示例中,您提供了从单独的布局文件中扩展视图,在第二个示例中,您使用findViewById()来获取视图,这意味着它们位于相同的布局xml中。问题很可能是2个网页浏览已经有了父母。

将webview放入自己的布局并对其进行充气。

LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
MyWebView[0] = (WebView)vi.inflate(R.layout.webview,null);
MyWebView[1] = (WebView)vi.inflate(R.layout.webview,null);

for (int i=0; i<2; i++) {
    vf.addView(MyWebView[i]);
}

修改 即使考虑到您的XML文件,问题也是一样的,即2个Web视图已经有了父文件。哪个是ViewFlipper,然后您尝试将它们再次添加到for循环中的ViewFlipper。

删除它应该可以解决您的问题:

for (int i=0; i<2; i++) {
    vf.addView(MyWebView[i]);
}

或者将第一个解决方案与单独的xml文件一起用于webview。