通过替换视图分页器中的imageview将webview加载到viewpager中

时间:2013-04-12 13:21:10

标签: android android-webview android-viewpager lazy-loading android-imageview

我正在实现一个应用程序,我首先将图像加载到viewpager中。我需要替换图像并在完全加载后获取webview。我该怎么做。

我的viewpager代码如下:

public class HtmlPagerAdapter extends PagerAdapter {
    private ArrayList<LinearLayout> views;

    Context con;


    public HtmlPagerAdapter(Context context, ArrayList<LinearLayout> filelist) {
        this.con = context;

        views = new ArrayList<LinearLayout>();

        this.views = filelist;


    }

    @Override
    public void destroyItem(View view, int arg1, Object object) {

        ((ViewPager) view).removeView((LinearLayout) object);


    }

    @Override
    public void finishUpdate(View arg0) {

    }

    @Override
    public int getCount() {
        return views.size();
    }

    @Override
    public Object instantiateItem(View view, int position) {

        View myView = views.get(position);
        ((ViewPager) view).addView(myView);

        return myView;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public void restoreState(Parcelable arg0, ClassLoader arg1) {

    }

    @Override
    public Parcelable saveState() {
        return null;
    }

    @Override
    public void startUpdate(View arg0) {

    }
}

我的imageview创建代码如下所示:

for(int t=0;t<list.length;t++){
            ImageView img=new ImageView(con);   // con is context
            img.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
            line = new LinearLayout(con);
            img.setBackgroundResource(drawable.bg_downissue);
            line.addView(img);
            filelist.add(line);       //filelist is arraylist<linearlayout>
        }
            adapter = new HtmlPagerAdapter(con, filelist);
            viewPager.setAdapter(adapter);

我的webview创建也是一个动态的webview,如

for(int t=0;t<list.length;t++){
WebView web=new WebView(this);
web.loadDataWithBaseURL(myUrl);
}

我想将此webview放入viewpager中的imageview。请帮我。我真的被这部分困住了。

1 个答案:

答案 0 :(得分:0)

我建议你改变一下这些代码:

将ImageView和WebView创建更改为XML布局,将两者放在带有match_parent的FrameLayout中。

在WebView上,您将附加WebViewClient并覆盖onPageFinished以了解页面何时完成加载。

然后,只需要膨胀XML并使WebView不可见;然后,只要WebViewClient通知它已完成加载,您就可以将WebView设置为可见,并且ImageView不可见。