Closed5
参照先コンポーネントによって Nullable になったりならなかったりする

val button = binding.sampleButton
この結果が nullable だったりそうじゃなかったりする

package com.example.application.presenter.activity
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.databinding.ActivityTopBinding
class TopActivity : AppCompatActivity() {
private lateinit var binding: ActivityTopBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityTopBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
val binding.sampleButton
}
}

これは、対象となる Activity の xml が複数あり、その中に android:id="@+id/sampleButton"
があったりなかったりするのが原因。
対象ファイル全てで対象に対して同一の id を付与することで NonNullable になった。

この id の対象があるか、とかで切り分けするのにも使えそう

知らなかったら、xml 側に原因があることに気づけずに嵌りそう
このスクラップは2021/04/06にクローズされました