Захват экрана Android
Это может быть глупый вопрос.
В Android, когда я меняю два TextViews, почему их onClickListeners тоже не меняются местами (в работе)?
Хэш-коды объекта поменялись местами, как и объект mListenerInfo. (Часть класса просмотра)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var textView1 = TextView(this)
var textView2 = TextView(this)
textView1.text = "T1"
textView2.text = "T2"
//linear is a LinearLayout via kotlinx access
linear.addView(textView1)
linear.addView(textView2)
textView1.setOnClickListener({
Toast.makeText(applicationContext, it.hashCode().toString(), Toast.LENGTH_SHORT).show()
})
textView2.setOnClickListener({
Toast.makeText(applicationContext, it.hashCode().toString(), Toast.LENGTH_SHORT).show()
})
val x = textView1
textView1 = textView2
textView2 = x
Toast.makeText(applicationContext, textView1.hashCode().toString() +"\n" + textView1.text, Toast.LENGTH_SHORT)
.show()
Toast.makeText(applicationContext, textView2.hashCode().toString() +"\n" + textView2.text, Toast
.LENGTH_SHORT).show()
}
}
TextViews и их соответствующие свойства меняются местами, поэтому textView1.text возвращает «T2», но при нажатии T1 на экране мы все равно получаем старый хэш-код.
Я что-то здесь не так делаю?