小编Sim*_*mon的帖子

在Android上刷新Adapter/ListView的最佳方法

我的书"Hello Android"将此作为一种使用自定义db帮助程序,设置游标,然后按如下方式设置适配器的方法:

Cursor cursor
CustomDatabaseHelper test = new CustomDatabaseHelper(this);
try {
        cursor = getData();
        showData(cursor);
} finally {
        test.close();
}
Run Code Online (Sandbox Code Playgroud)

但是,每当我需要刷新数据集时,我需要继续运行这段代码(由于"this"不可用,因此在按钮的onClick()中会有点困难.

这是刷新数据集的最佳方法,还是应该删除.close并发出adapter.notifyDataSetChanged()?如果我这样做,有时我会得到一个强制关闭(我现在不记得)但有时它无法正确删除 - 我想这可能是因为数据库当前是打开的并且它试图再次打开.

我们是否还要在Class中(在OnCreate之外)声明Cursors,DatabaseHelpers和Adapter的变量,以便所有函数都可以访问它们?

我意识到这只是在这个阶段的糟糕编程,但我试图得到一些关于最佳做事方式的指示.

android listview refresh

71
推荐指数
4
解决办法
15万
查看次数

SimpleCursorAdapter,包含Android中的部分

当你使用Cursors和Custom SimpleCursorAdapter时,我对如何在ListView中生成部分感到有点失落.

许多文档使用getView()等引用,或创建多个适配器并添加节头.

但这些似乎都基于BaseAdapter,ListAdapters和ArrayAdapters等.

以前有人处理过类似的事吗?

如果没有,有关如何使这项工作的任何提示?

谢谢西蒙

android listview cursor sections

13
推荐指数
2
解决办法
7797
查看次数

如何获得Android系统颜色

我已经看过有关如何设置系统颜色的参考资料,但我需要了解你如何获取它们 - 你怎么知道它们是什么?

例如,在Samsung Galaxy S上,选项卡视图,ListView在选择项目时突出显示,而首选项屏幕上的摘要文本行全部为蓝色.

有许多应用程序模仿这种风格,我想做同样的事情.显然,我不能只是硬编码并将颜色设置为蓝色,因为其他手机使用不同的颜色.

问题是,有没有办法以编程方式找出Preference Screen Summary Line,Tabs或ListView选择的颜色,以便您可以针对应用程序中其他位置的TextView设置该颜色?

我如何获得android系统颜色?

android uicolor

12
推荐指数
2
解决办法
5137
查看次数

在适用于助理应用程序的Firebase功能中获取Node.js中的Google用户ID

我正在开始使用Google Cloud Platform.

我正在开发一个Android应用程序,它将收集信息并将其存储在Firebase应用程序中.我们的想法是,Google智能助理功能可以查询此信息并将其读回 - 例如

好的谷歌,与西蒙斯应用交谈,告诉我XYZ最后一次完成

然而,我遇到的问题是让它成为多用户.

我有Android应用程序收集数据并将其放入云端.我在Android应用程序中使用FirebaseUser和使用getUid()获取一个28字符串的唯一ID uVHkia8RRgWD8GGPVvW4AUDUK2.

我在Google上设置了Actions,通过Web Fulfillment将它连接到API.AI,并让Node.js在firebase函数中工作.

不幸的是,UserID我回来看起来更像是:HTge48H0CF2FC5jJQCigFBc-UCQ

问题是这UserIDUserUID我从Filebase User获得的不一样.

我正在使用

let ApiAiApp = require('actions-on-google').ApiAiApp;
const app = new ApiAiApp({request: request, response: response});
Run Code Online (Sandbox Code Playgroud)

const userId = app.getUser().userId;
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我看到对OAuth2,帐户链接等的引用.我不完全确定此时该做什么.我现在需要做的就是得到User UIDFirebaseUser.getUID()想要的内容,以便在Firebase数据库中查看数据.

我认为其余的应该是直截了当的.

有大量关于从智能助理链接到Firebase的文档,但实际身份验证却很少.到目前为止,我还没有设置流程,如授权代码流,隐式流,或者针对API.AI和Fulfillment选项设置用户名/密码.坦白说,我不确定在这一点上需要去哪里.

node.js google-cloud-platform firebase-authentication actions-on-google dialogflow-es

5
推荐指数
1
解决办法
859
查看次数