Как настроить пользовательский ListView с разделителем с помощью Android?
Я хотел реализовать функцию Pull To Refresh в своем android-приложении, поэтому я реализовал эту библиотеку: Android-PullToRefresh. Однако я не могу установить пользовательский стиль для разделения программно.
Код прост:
list = (PullToRefreshListView) findViewById(R.id.list);
int[] colors = {0, 0xFF97CF4D, 0};
list.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
list.setDividerHeight(1);
Однако, он выбрасывает эту ошибку: The method setDivider(GradientDrawable) is undefined for the type PullToRefreshListView
и The method setDividerHeight(int) is undefined for the type PullToRefreshListView.
Что я здесь делаю не так?
1 ответ:
PullToRefreshListView
не являетсяListView
, отсюда и эта ошибка. Вы должны получить доступ кListView
внутриPullToRefreshListView
и вызватьsetDivider*
методы на этом.list = (PullToRefreshListView) findViewById(R.id.list); int[] colors = {0, 0xFF97CF4D, 0}; ListView inner = list.getRefreshableView(); inner.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); inner.setDividerHeight(1);
В качестве альтернативы вы можете определить свой градиент как XML-чертеж и установить атрибуты прямо в вашем макете, как показано в примере здесь
Например:
<com.handmark.pulltorefresh.library.PullToRefreshListView android:divider="@drawable/fancy_gradient" android:dividerHeight="@dimen/divider_height"...