3

Aphid-FlipView-Library を使用して、webview を使用して静的な html ページを表示しています。

しかし、あるページから別のページに(移動して)めくっている間、白いフレームが表示されます.2番目のページが正常にロードされた後..

誰でも私を助けることができますか、そのフラッシュの外観を削除する方法..

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()));
    }}

私のアダプタクラスはここにあります:package 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; 
}} 

私のコードを使用することで、複数の Web ビューをめくることができますが、ページを途中でめくると、次のビューが表示されず、空白のページのように見え、ページを完全にめくった後に読み込まれるという問題が発生します..ここにそれに関する画面があります

ここに画像の説明を入力

4

1 に答える 1

0

loadUrlローカル HTML ファイルをレンダリングする最速の方法ではありません。これらはアプリに含まれているため、コンテンツをロードしてメソッドStringを使用する必要がありますloadData

http://developer.android.com/reference/android/webkit/WebView.html#loadData%28java.lang.String,%20java.lang.String,%20java.lang.String%29

編集:
もう1つ。フリップするたびに新しい WebView を作成する代わりに、convertView を使用する必要があります。

@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; 
}} 
于 2013-02-11T11:18:08.173 に答える