如何获取ImageButton的ID?

时间:2019-10-30 17:38:33

标签: android kotlin

我正在开发一种解决方案,在用户单击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)
}

3 个答案:

答案 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