我在做什么:
我将 Eddystone 与 Google Nearby Messages API 一起使用。
我在 onCreateView() 中连接到 Google API 以启动对象,mGoogleApiClient.connect();
然后在 GoogleAPI 中onConnected()
调用,我正在调用Nearby.Messages.subscribe()
侦听消息。
因此,mGoogleApiClient 的“已连接”、“已成功订阅”当前同时发生 3-4 次,正如我在 Log.log 中看到的那样。
我希望它只实例化connect(), subscribe()
一次并避免与 Google 的多次连接。
在onFound()
,我正在运行runOnUiThread(thread)
它解析我的 json-string 附件,添加到 arraylist,将 arraylist 添加到自定义适配器,将适配器设置为 recyclerview。
(我正在处理的每个onFound()
附件runOnUiThread()
:
{"Z":[{"a":"text","b":"text","c":"text","d":"text","e":"text","f":"text"
}]}
)
问题是,
那么,我真的需要使用runOnUiThread()
仅允许我将 recyclerview 适配器设置为 LayoutManager 作为 child 的所有者吗?我还能如何做到这一点?
如何避免多个connect()
实例subscribe()
?
如何避免重复的附件显示在我的列表中?
何时使用自定义适配器恢复 recyclerView onResume()
?