iam使用aphid flipview库使用webview显示静态html页面。
但是,当从一个页面翻转(移动)到另一个页面时,IAM得到一些白色的框架,然后第二个页面通常被加载。
有谁能帮我,怎么去掉那个闪光的外表…

public class FlipTextViewFragment extends Fragment {
private FlipViewController flipView;
String[] urls = {"file:///android_asset/Introduction_print.html","file:///android_asset/introduction2.html"};

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    flipView = new FlipViewController(inflater.getContext(), FlipViewController.HORIZONTAL);
    flipView.setAdapter(new adp(getActivity().getApplicationContext()));
    return flipView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
}
public void setText(String item) {
    flipView.setAdapter(new adp(getActivity().getApplicationContext()));
    }}

然后我的适配器类在这里:
软件包com.example.flipwebview;
 public class adp extends BaseAdapter {
 String[] urls = {"file:///android_asset/Introduction_print.html","file///android_asset/introduction2.html"};
   Context con;
public adp(Context applicationContext) {
    // TODO Auto-generated constructor stub
    con=applicationContext;
}
    @Override
public int getCount() {
    // TODO Auto-generated method stub
    return urls.length;
}
   @Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return position;
}
   @Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}
    @Override
public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    WebView wv=new WebView(con);
    wv.loadUrl(urls[position]);
return wv;
}}

通过使用我的代码,我可以在多个网络视图之间切换,但我遇到的问题是,当我在半个页面上切换时,我看不到我的下一个视图,它看起来是一个空白页面,在我完全切换页面后,它会被加载。下面是有关的屏幕

最佳答案

loadUrl不是呈现本地html文件的最快方法。因为它们包含在你的应用程序中,你应该将它们的内容加载到String并使用loadData方法。
http://developer.android.com/reference/android/webkit/WebView.html#loadData%28java.lang.String,%20java.lang.String,%20java.lang.String%29
编辑:
还有一件事。每次翻页时,应使用ConvertView,而不是创建新的WebView。

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    WebView webView = null;
    if (convertView == null)
    {
       webView = new WebView(con);
    } else {
       webView = (WebView) convertView;
    }

    webView.loadUrl(urls[position]);
    return webView;
}}

07-24 09:44
查看更多