1

私がやっていること:

Google Nearby Messages API で Eddystone を使用しています。

onCreateView() で Google API に接続してオブジェクトを開始し、mGoogleApiClient.connect(); 次に GoogleAPI で呼び出して、メッセージをリッスンするためにonConnected()呼び出しています。Nearby.Messages.subscribe()

この結果、mGoogleApiClient の「接続済み」、「正常にサブスクライブ済み」は、ログに表示されているように、現在同時に 3 ~ 4 回発生しています。

一度だけインスタンス化して、connect(), subscribe()Google への複数接続を回避したい。

ではonFound()、 json-string 添付ファイルrunOnUiThread(thread)解析し、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()?

4

1 に答える 1

0

GoogleApiClient#connect()電話しonStart()てから電話GoogleApiClient#disconnect()することをお勧めしますonStop()。を呼び出している場合Nearby.Messages.subscribe()onConnect()フラグメントが作成されるたびにサブスクライブすることになります (たとえば、方向の変更時)。このため、 に電話する必要がありNearby.Messages.unsubscribe()ますonPause()

はい、 を使用する必要があるためrunOnUiThread()、リソースを同時に変更することはありません。

「子の所有者として recyclerview アダプターを LayoutManager として設定することしかできない」という意味がわかりません。明確にできますか?実際、それは別の質問としてお願いできますか (複数の質問をまとめるのは StackOverflow のエチケットではありません)。

于 2015-12-14T23:18:34.247 に答える