Что я хочу:
Я хочу добавить в мое приложение свайп или, как я узнал, его имя на android fling.
У меня есть динамическое число просмотров, число - это количество дат из файла ICS, которые я анализирую, я хочу, чтобы все эти представления были объединены.
Но если бы у меня было, скажем, 12 из них, каждый из которых имел бы ListView с 8 элементами (макс.), Я бы использовал много памяти. Поэтому мне бы хотелось, чтобы только 2 до текущего выбранного вида и 2 после были инициализированы.
Что я пробовал:
В моем поиске я наткнулся на этот вопрос о потоке стека , в котором упоминается HorizontalPager. Но я не знаю, как заставить его работать с несколькими 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 - нет.
Есть предложения ??