質問内容
android : バックグラウンドサービスクラス(android.app.Serviceを継承)上のArrayList型変数に格納されているデータをリサイクラービューに表示するにはどうしたらよいでしょうか?
宜しくお願い致します。
関連URL
https://developer.android.com/reference/android/app/Service#WhatIsAService
実装イメージ
サービス
kotlin
class SocketService : Service() { lateinit var chatTextList: ArrayList<ChatText> init { chatTextList = ArrayList() } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { ... chatTextList.add(ChatText("text", "name", "111.111.111.111", Timestamp(System.currentTimeMillis()))) ... } override fun onBind(intent: Intent?): IBinder? { ... } override fun onUnbind(intent: Intent?): Boolean { ... } override fun onRebind(intent: Intent?) { ... } override fun onDestroy() { ... } override fun onTaskRemoved(rootIntent: Intent?) { super.onTaskRemoved(rootIntent) stopSelf() } public fun connectP2pNetwork(address: String, name:String, status: String, memberCountText:String){ } public fun send(message: String) { } }
サービス呼び出しと、リサイクラービューにArrayListをバインドしている部分(MainActivity)
kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val adapter = ChatTextAdapter(chatTextList) ←ココ 参照の仕方が分かりません。 binding.chatRecyclerView.layoutManager = LinearLayoutManager(this) binding.chatRecyclerView.adapter = adapter val intent = Intent(this@MainActivity, SocketService::class.java) if (Build.VERSION.SDK_INT >= 26) { startForegroundService(intent) } else { // Debug.print("SDK_INT < 26") startService(intent) } } 以上
まだ回答がついていません
会員登録して回答してみよう