0
私はKotlinとAnkoのDSLを使って画像を選択し、ImageViewに読み込むことができる警告ダイアログを作成しようとしています。今すぐImageViewを動作させようとしているので、ピカソを使用してURLからあらかじめ選択したイメージをロードするためにボタンをクリックしてください。私は警告ダイアログのボタンをクリックすると定義されたKotlin/Anko DSLの画像を設定する際に問題がありますImageView
、私はこのエラーを取得する:私はImageViewのはfindViewByIdによってロードされていない何らかの理由で
kotlin.TypeCastException: null cannot be cast to non-null type android.widget.ImageView
推測しています。なぜ誰がこのことが分かっているのですか?私はAnkoのDSLにはわからない奇妙な行動があると思います。
fab.setOnClickListener { view ->
alert {
title = "New Post"
customView {
verticalLayout {
val subject = editText {
hint = "Subject"
}
imageView {
id = R.id.picked_image
}
linearLayout {
gravity = Gravity.CENTER
button("Choose Photo") {
onClick {
Picasso.with([email protected])
.load("http://SomeUrl/image.jpg")
.into(findViewById(R.id.picked_image) as ImageView)
}
}
button("Choose Image") {}
}
positiveButton("Post") { }
negativeButton("Cancel") {}
}
}
}.show()
ねえ、それは動作しますが、ありがとう!唯一の問題は、後で(onClickの外で)imageViewにアクセスする場合、私はまだ方法が分かりません。 – Parker
'Activity'の内部にプロパティを作成し、それに' ImageView'を割り当てることができます。 – zsmb13