2

垂直方向にスクロール可能なタイルの行と、このすべての行が水平方向にスクロール可能なアプリケーションを作成する必要があります。すべてのタイルは html+javascript コンテンツです。そこで、複数の ListView を Horizo​​ntalScrollView と、ListView の BaseAdapter Iam バインディング WebView の getView メソッド内に追加します。それは簡単なスキームです:

HorizintalScrollView
  LinearLayout
      ListView1 -   WebView1 WebView2.....WebView6    //getView {    WebView.LoadUrl(html)  }  //using with ViewHolder and convertView asking for null
       ...
      ListViewN - WebView....WebView
   /LinearLayout
/HorizontalScrollview

各 WebView が linearLayout 内にありすぎます。したがって、すべてがうまく機能しますが、ListView にそれぞれ 5 つ以上の WebView (300 x 300 ディップ) が含まれ、Horizo​​ntalScrollView に 1 つ以上の ListView がある場合、スクロールしようとすると、すべての WebView が白色で点滅し始めます (リロードのように getView なし)。水平に。

しかし、1 つの ListView を使用する場合はすべて問題ありません。そして時々アプリがクラッシュします。では、その理由は??(各 WebView で、単純なインタラクティブなハイライト html+javascripts チャートを表示しています)。ICS 4.0 を搭載した ASUS タブレットで試しています。iOS で ScrollView の 30 WebView でこれを試してみましたが、問題はなく、すべて動作しました。アプリが点滅してクラッシュする理由を説明してください。

4

1 に答える 1

1

同じ問題が私にもありました。私はこれを試してみました私の問題をより大きな範囲で解決しました

public View getView(final int position, View convertView,
            ViewGroup parent) {

        final ViewHolder holder;
        View vi = convertView;
        if (convertView == null) {
            vi = inflater.inflate(R.layout.book_reader_list_style, parent,
                    false);
            holder = new ViewHolder();

            holder.webView = (WebView) vi.findViewById(R.id.webView1);

            holder.webView.setInitialScale(scaleWebView);
            WebSettings webSettings = holder.webView.getSettings();
            holder.webView.setVerticalScrollBarEnabled(false);
            holder.webView.setHorizontalScrollBarEnabled(false);
            holder.webView.setVisibility(View.VISIBLE);
            webSettings.setLoadWithOverviewMode(true);
            webSettings.setUseWideViewPort(false);

            vi.setTag(holder);
        } else {

            holder = (ViewHolder) vi.getTag();
        }
        holder.webView.loadUrl((URLs.get(position)));

        return vi;

    }
于 2013-01-09T07:34:32.677 に答える