0

私がしたいこと:

スワイプまたはAndroid flingで名前が付けられていることをアプリに追加したいと思います。ビューの動的な数があります。この数は、解析する ICS ファイルからの日付の量です。これらすべてのビューをまとめてスワイプ効果を作りたいと考えています。しかし、これらのうち12個がそれぞれ8つのアイテム(最大)を持つListViewを持っているとしましょう。それは私が推測する多くのメモリを使用します。したがって、現在選択されているビューの前の2つと後の2つだけを初期化したいと思います。

私が試したこと:

私の検索では、Horizo​​ntalPagerについて言及しているこの stackoverflow の質問を見つけました。しかし、私はそれを多くのListViewで動作させ、動的にロードすることを知りません。

ViewGroup を試してから、ListView を追加および削除しましたが、機能しません。ViewGroup は表示されますが、ListView は表示されません

public class HourView extends ViewGroup
{
    private ListView listView;

    /**
     * @param context
     */
    public HourView(Context context)
    {
        super(context);
        init(false);
    }

    /**
     * 
     * @param context
     * @param day the current day
     */
    public HourView(Context context, String day,
            boolean shouldBeVisible)
    {
        super(context);
        this.day = day;

        init(shouldBeVisible);
    }

        private void init(boolean shouldBeVisible)
    {       
               if (shouldBeVisible)
        {   
            listView = new ListView(getContext());

            if (day == null)
            {
                day = Event.dtFormatDay.format(new Date());
            }

                        new GetEvents(day).execute();
                       addView(listView);
                  }
                  else
                  {
                        removeAllViews();
                        listView = null;                  
                  }
    }
}

GetEvents() は、ローカル データベースからいくつかのイベントを取得する AsyncTask (viewgroup クラス内のクラス) であり、コードは onPostExecute であり、次のとおりです。

protected void onPostExecute(String errMsg)
{
  if (errMsg != null)
  {
     listView.setAdapter(new SkemaHoursRowAdapter(getContext(), eventItems));
      listView.requestLayout();
      addView(listView, layoutParams);
  }
}

eventItems は、カスタム rowadapter に解析する配列です (これは機能することがわかっています)。ビュー グループは表示されますが、listView は表示されません。

助言がありますか??

4

1 に答える 1

0

代わりにビューグループを使用せずに、正しいリストがまだ更新されていない場合に表示するloader-listadapterを作成しました。

ViewGroupしたがって、拡張する代わりに拡張しListView、アダプターは最初にロードアダプターに設定され、ロードされると正しいリストビューに設定されます。

于 2011-04-19T11:50:40.560 に答える