我正在开发一种解决方案,在用户单击ImageButton
之后,该活动将一个活动传递给其他活动。我有6张图片和所有图片
具有相同的onClick
事件,我需要区分不同的ImageButton
的点击,这是第二次活动的传递。
我尝试了以下解决方案,但使用idImageButton.tag.toString()
的行不起作用。
file.kt
fun onclickImage(view: View){
val idImageButton:ImageButton = view as ImageButton
val pokemonName:String = idImageButton.tag.toString()
val myIntent = Intent(this, Details::class.java)
myIntent.putExtra("pokemon", pokemonName)
startActivity(myIntent)
}
答案 0 :(得分:1)
通过投射到ImageButton可以获得视图ID
when(view.id) {
R.id.btnFirst -> {}
R.id.btnSecond -> {}
//so on
}
答案 1 :(得分:1)
val button:ImageButton
val id = button.id
答案 2 :(得分:0)
您必须检查视图的id
以区分它们。例如,如果要移至第二个id
的{{1}}中的ImageButton
是 pokemon ,请尝试这样。
activity
如果您还想通过fun onclickImage(view: View) {
if(view.id == R.id.pokemon) {
val myIntent = Intent(this, Details::class.java)
myIntent.putExtra("pokemon", "Pokemon")
startActivity(myIntent)
}
}
进行操作,则必须在xml或代码中设置tag
。然后,您可以使用tag
tag
然后检查<ImageButton
android:id="@+id/pokemon"
android:tag="Pokemon"
android:onClick="onclickImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
并做出决定。
tag