鸿蒙OS PageSliderProvider
PageSliderProvider
java.lang.Object
|---ohos.agp.components.PageSliderProvider
public abstract class PageSliderProvider
extends Object
提供页面适配器来管理页面组件。
该类提供页面项管理功能,例如计算可用组件的数量,并在指定位置创建组件。 您需要继承并实现 PageSliderProvider 以在不同的页面上显示多个组件。
Since:
3
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
static int | POSITION_INVALID | 表示容器中的页面无效。 |
static int | POSITION_REMAIN | 表示页面在容器中的位置保持不变。 |
构造函数摘要
构造函数 | 描述 |
---|---|
PageSliderProvider() |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
void | addDataSubscriber(DataSetSubscriber subscriber) | 为当前的 Page Slider Provider 添加订阅者。 |
abstract Object | createPageInContainer(ComponentContainer container, int position) | 在指定位置创建页面。 |
abstract void | destroyPageFromContainer(ComponentContainer container, int position, Object object) | 销毁容器中的指定页面。 |
abstract int | getCount() | 获取当前适配器中可用组件的数量。 |
int | getPageIndex(Object object) | 获取容器中对象的索引。 |
String | getPageTitle(int position) | 获取页面在指定位置的标题。 |
abstract boolean | isPageMatchToObject(Component page, Object object) | 检查组件是否与从 createPageInContainer(ohos.agp.components.ComponentContainer,int) 返回的特定对象相关联。 |
void | notifyDataChanged() | 通知页面滑块提供程序数据集更改。 |
void | onUpdateFinished(ComponentContainer componentContainer) | 通知容器页面更新已完成。 |
void | removeDataSubscriber(DataSetSubscriber subscriber) | 从当前 PageSliderProvider 注销订阅者。 |
void | startUpdate(ComponentContainer container) | 收到通知,指示显示的页面上即将发生更新。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息
POSITION_INVALID
public static final int POSITION_INVALID
表示容器中的页面无效。
POSITION_REMAIN
public static final int POSITION_REMAIN
表示页面在容器中的位置保持不变。
构造函数详细信息
PageSliderProvider
public PageSliderProvider()
方法详情
getCount
public abstract int getCount()
获取当前适配器中可用组件的数量。
返回:
返回可用组件的数量。
createPageInContainer
public abstract Object createPageInContainer(ComponentContainer container, int position)
在指定位置创建页面。
页面被添加到容器中的指定位置。
参数:
参数名称 | 参数描述 |
---|---|
container | 指示要显示 PageSliderProvider 的容器。 |
position | 表示容器中的指定位置。 |
返回:
返回显示的页面。
destroyPageFromContainer
public abstract void destroyPageFromContainer(ComponentContainer container, int position, Object object)
销毁容器中的指定页面。
参数:
参数名称 | 参数描述 |
---|---|
container | 指示页面适配器所属的容器。 |
position | 表示容器中的指定位置。 |
object | 指示要销毁的页面。 |
isPageMatchToObject
public abstract boolean isPageMatchToObject(Component page, Object object)
检查组件是否与从 createPageInContainer(ohos.agp.components.ComponentContainer,int) 返回的特定对象相关联。
参数:
参数名称 | 参数描述 |
---|---|
page | 表示要检查的组件。 |
object | 指示与要检查的组件关联的对象。 |
返回:
组件是否与对象关联。
startUpdate
public void startUpdate(ComponentContainer container)
收到通知,指示显示的页面上即将发生更新。
参数:
参数名称 | 参数描述 |
---|---|
container | 指示页面适配器所属的ComponentContainer。 |
onUpdateFinished
public void onUpdateFinished(ComponentContainer componentContainer)
通知容器页面更新已完成。
调用此方法时,必须确保所有页面都已按要求添加到容器中或从容器中移除。
参数:
参数名称 | 参数描述 |
---|---|
componentContainer | 指示页面适配器所属的容器。 |
Since:
4
getPageIndex
public int getPageIndex(Object object)
获取容器中对象的索引。
参数:
参数名称 | 参数描述 |
---|---|
object | 表示用于生成组件的对象。 |
返回:
返回容器中对象的索引; 如果对象索引没有改变,则返回 POSITION_REMAIN; 如果容器中不存在对象,则返回 POSITION_INVALID。
Since:
4
notifyDataChanged
public void notifyDataChanged()
通知页面滑块提供程序数据集更改。
当要显示的数据发生变化时调用该方法。
Since:
4
addDataSubscriber
public final void addDataSubscriber(DataSetSubscriber subscriber)
为当前的 PageSliderProvider 添加订阅者。
订阅者接收与数据更改相关的回调。
参数:
参数名称 | 参数描述 |
---|---|
subscriber | 表示订阅者。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果参数值为 null,则引发此异常。 |
IllegalStateException | 如果已添加对象,则抛出此异常 |
Since:
4
removeDataSubscriber
public final void removeDataSubscriber(DataSetSubscriber subscriber)
从当前 PageSliderProvider 注销订阅者。
参数:
参数名称 | 参数描述 |
---|---|
subscriber | 表示要移除的订阅者。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果参数值为 null,则引发此异常。 |
IllegalStateException | 如果对象已被移除,则抛出此异常 |
Since:
4
getPageTitle
public String getPageTitle(int position)
获取页面在指定位置的标题。
该方法可用于 PageSliderProvider 对象获取指定页面的标题。
参数:
参数名称 | 参数描述 |
---|---|
position | 指示页面在 PageSliderProvider 中的位置。 |
返回:
返回页面标题。