我想在左侧(主)侧使用带有 GridView 的 Master-Detail-Flow。根据文档,GridView
有一个setItemChecked(position, value)
在 API 级别 1 中添加的方法。但是 Eclipse 声明该方法需要 API 级别 11。
哪一个是真的?如果我想在我的 GridView 中检查项目,我是否需要自己实现逻辑(带有背景更改等)?
我想在左侧(主)侧使用带有 GridView 的 Master-Detail-Flow。根据文档,GridView
有一个setItemChecked(position, value)
在 API 级别 1 中添加的方法。但是 Eclipse 声明该方法需要 API 级别 11。
哪一个是真的?如果我想在我的 GridView 中检查项目,我是否需要自己实现逻辑(带有背景更改等)?
根据我的经验,官方文档是错误的。
AbsListView.setItemChecked(position, value)
仅从 HoneyComb (API 11) 开始存在。令人困惑的是,ListView.setItemChecked(position, value)
API 1 确实存在,而GridView.setItemChecked(position, value)
没有。我认为这只是在 API 11 中修复的糟糕的 API 设计。
可能是由于文档生成器的限制,因为方法在继承链中向上移动到AbsListView
API 11 中。方法 inAbsListView
应标记为Added in API level 11
,而方法 inListView
应标记为Added in API level 1
.
我没有使用它,但有人创建了一个GridViewCompat
来解决这个问题。
https://github.com/paramvir-b/AndroidGridViewCompatLib
我相信文档是错误的。在模拟器上进行测试,该方法在 API 级别 8 上不可用。据我所知,这适用于 AbsListView setItemChecked() 方法的所有扩展(ListView 等)。我认为可以安全地假设它仅适用于 API 级别 11+