android - 是否有一种属性或方法可以在对用户隐藏的 Android View 中存储值?

标签 android

我不确定 Android 是否有这个,或者是否有这样做的方法。我查看了文档,但没有看到任何专门用于此用途的内容。是否有可能有用的首选方法?非常感谢任何帮助。

我需要它用于包含 TextView 成员的议程列表。但是当用户点击一个时,我需要一种方法来访问该议程信息,例如从数据库中存储一个 ID 以引用该事件信息,但我需要对用户隐藏它。

最佳答案

使用setTag()getTag(),你可以传递任何你喜欢的对象类型。

这是 the reference .

从评论中添加

我认为最简单的方法是多次查询数据库,而不是让一个 Cursor 包含所有内容

例如,如果我们有一个包含如下列的表:events(_id, name, startTime, endTime, people, etc)。您可以调用 SELECT * FROM events,但如果您只想要有关一两个事件的详细信息,那似乎太过分了。查询 SELECT _id, name FROM events 并将其存储在 ListView 中更有意义。然后你可以:

listView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        detailCursor = database.rawQuery(`SELECT * FROM events WHERE _id = ?`, new String[] { id });
        // Display this event's details somehow
    }
}

像这样的辅助游标是最简单的。您不会为使用过的事件详细信息分配内存,并且这些重复的小查询不会造成显着的性能损失。在这种情况下,我不会在 View 的标签中存储任何内容,一般游标(带有每个事件的 ID 和名称)和详细游标应该为您提供所需的一切。

希望对您有所帮助。

关于android - 是否有一种属性或方法可以在对用户隐藏的 Android View 中存储值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10873714/

相关文章:

java - Android Studio 无法锁定系统文件夹

android - Instant Apps 上的文本转语音崩溃

android - PhoneStateListener 返回 null 作为传入号码

android - 在这种情况下如何完成 Activity ?

安卓工作室 "Could not find com.android.tools.build:gradle:3.0.1"

android - 从 onContextItemSelected 显示的 DialogFragment 在暂停/恢复时不存在

android - 系统设置将通知音量与铃声音量联系起来

android - "Rate This App"- 手机上 Google Play 商店应用中的链接

android - 无法恢复我的 android c++ 游戏的状态(state->savedState 始终为 NULL)

java - 从数组设置类属性