GridViewにTextViewsが設定されています。ユーザーがTextViewをクリックしてTextViewがGridViewから削除され、そのTextViewに表示される文字列がArrayListから削除されるようにしたいと思います。これはもともとはJavaで動作しましたが、Kotlinに変換された時点では動作しなくなり、クリックされた項目に関係なく最初の項目が削除されます。ここでGridViewはアイテムがクリックされたときに最初のアイテムのみを削除します。 Java-> Kotlin
はKotlinコードです:
grid_view!!.onItemClickListener = AdapterView.OnItemClickListener { _, _, _, _ ->
val selectedItem = (tag_name as TextView).text.toString()
itemList.indices.forEach {
Log.d("Update", "Removing: " + selectedItem)
itemList.removeAll { it == selectedItem }
}
}
:まず、私はAndroidデベロッパーないんだけど、私はあなたがOnItemClickListenerから
position
を取得する必要があると思うとfor
ループは、たとえば、そのようなことを行う必要はありません? –私は、実際には、2つの別々の無関係な問題があることに気付きました。だから私は、元の問題はあなたのおかげで修正されたので、2番目の問題はそれ自身の疑問を正当化すると思った。 – Roc47HS