85341


Kotlinでネットワーク関連のコードを書いており、以下のページを参考にしました。  
<https://medium.com/@hongminlai/android-kotlin-udp-socket-fba4474ea0b1>

[code]

    class UDPSocketActivity : AppCompatActivity() {
        private var udpSocket: UdpSocket? = null
        private var handler: Handler
        init {
            val outerClass = WeakReference(this)
            handler = MyHandler(outerClass)
        }
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            udpSocket = UdpSocket(handler)
            udpSocket?.startUDPSocket()
    
            button.setOnClickListener {
                udpSocket?.sendMessage(editText.text.toString())
            }
    
        }
    
        // Declare the Handler as a static class.
        class MyHandler(private val outerClass: WeakReference<MainActivity>) : Handler() {
    
            override fun handleMessage(msg: Message?) {
                outerClass.get()?.tv_receive?.append(msg?.obj.toString()+"\n")
            }
        }
    
        override fun onDestroy() {
            super.onDestroy()
            udpSocket?.stopUDPSocket()
        }
    }
    
[/code]

`outerClass.get()?.tv_receive?`という行があり、そこがエラーになります。  
`tv_receive`とは何なのでしょうか？  
何かのライブラリ等をimportしたらエラーが消えるものなのでしょうか？

[![画像の説明をここに入力](https://i.stack.imgur.com/3mDgQ.jpg)](https://i.stack.imgur.com/3mDgQ.jpg)


CC BY-SA 4.0
2021-12-25T01:48:59.563
85322
2021-12-27T02:36:02.450
2021-12-26T14:45:58.373
2808
36446
question
java android kotlin
outerClass.get()?.tv_receive?とは何か


過去利用されていた [Kotlin Android Extensions](https://developers-
jp.googleblog.com/2020/11/the-future-of-kotlin-android-extensions.html) の
synthetics という機能かと思います。

Qiita に解説を書かれている方がいらっしゃいます:

  * [もうちょっと詳しくなるKotlin Android ExtensionsでのView Binding](https://qiita.com/kafumi/items/391dafe997064da2bb6c)

`tv_recieve` という名前から推測すると、受信データ表示用の `TextView` を `UDPSocketActivity`
に備えているのかと思います。


CC BY-SA 4.0
2021-12-26T14:45:45.540
85341
2021-12-27T02:36:02.450
2021-12-27T02:36:02.450
2808
2808
85322
answer