我正在实现一个应用程序,我首先将图像加载到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。请帮我。我真的被这部分困住了。
答案 0 :(得分:0)
我建议你改变一下这些代码:
将ImageView和WebView创建更改为XML布局,将两者放在带有match_parent的FrameLayout中。
在WebView上,您将附加WebViewClient并覆盖onPageFinished以了解页面何时完成加载。
然后,只需要膨胀XML并使WebView不可见;然后,只要WebViewClient通知它已完成加载,您就可以将WebView设置为可见,并且ImageView不可见。