MatrixCursor

[color=blue]如需转载请著名

作者:倚风听雪 来源:http://hklongshao.iteye.com[/color]


ContentProvider对外共享数据的时候的query()方法是需要一个cursor的。

但是当ContentProvider不是从数据库中去的数据,而又需要返回cursor的时候就需要MatrixCursor。

MatrixCursor用于当数据不是存储在数据库的情况下,穿件cursor使用的。


String[] tableCursor = new String[] {"_id" ,"path", "content" };
MatrixCursor menuCursor = new MatrixCursor(tableCursor);
Item item = new Item();
for(int count = 0;count<items.size();count++){
item = items.get(count);
menuCursor.addRow(new Object[] {count,item.getUrlPath(),item.getContent()});
}
### 构建独立站时使用自定义 Cursor 或处理光标事件 #### 自定义 Cursor 的实现方法 当构建独立站并需要使用 `cursor` 特性,特别是对于那些不从数据库获取数据的情况,可以考虑创建一个模拟的 `MatrixCursor` 来作为自定义的数据源[^1]。这种方式允许开发者灵活地管理数据集,并能像真实游标一样操作这些数据。 ```java // 创建一个新的 MatrixCursor 实例,指定列名数组 String[] columns = new String[]{"_id", "name"}; MatrixCursor customCursor = new MatrixCursor(columns); // 添加一行记录到这个虚拟表中 customCursor.addRow(new Object[]{0L, "Example Name"}); ``` 为了使这种自定义游标与视图组件(如 ListView)交互更方便,通常还会配合 `SimpleCursorAdapter` 使用[^4]: ```java // 定义适配器连接布局文件中的 TextView 和 cursor 数据字段之间的映射关系 String[] fromColumns = {"name"}; int[] toViews = {R.id.text_view}; // 初始化 SimpleCursorAdapter 并设置其 ViewBinder 接口来自定义显示逻辑 SimpleCursorAdapter adapter = new SimpleCursorAdapter(context, R.layout.item_layout, null, fromColumns, toViews); adapter.setViewBinder((view, cursor, columnIndex) -> { // 这里可以根据业务需求调整最终呈现给用户的文本内容 }); ``` #### 处理网页上的光标样式 如果是在 Web 开发环境中讨论 “cursor”,那么更多是指 CSS 中用于控制鼠标指针样式的属性[^2]。可以通过简单的 CSS 规则改变页面上特定区域内的默认光标外观: ```css /* 移除所有超链接下的下划线以及默认的手型光标 */ .page a { text-decoration: none; cursor: default !important; } /* 设置整个页面范围内的光标为不可见状态 */ .page { cursor: none; } ``` 另外,在某些特殊场景下还可以利用 JavaScript 动态切换不同类型的光标效果,比如加载过程中展示进度条形状的等待图标等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值