【问题标题】:How to change button id by pressing it?如何通过按下它来更改按钮ID?
【发布时间】:2019-10-21 16:55:21
【问题描述】:

想象一下 2 个不同的按钮和一张图片。当您按下一个按钮时,图像将变为另一幅图像。如果您按下另一个按钮,它会更改为不同的图像。等等。这就像一个互动游戏。

我希望按钮也可以更改 id,因此您不必每次都进行新的活动,只需继续浏览单个活动上的图片即可。我只找到了这个问题的 1 个答案,它建议不要更改 id...

如何更改 id 或有更好的解决方案?

【问题讨论】:

    标签: android android-studio kotlin button


    【解决方案1】:

    您可以为每个按钮注册 OnClickListener,它将相应的图片更改为您想要的图片。除此之外,您还可以为每个 Button 使用一个计数器,以确定应该显示哪个图片。

    val image_1 : ImageView
        val image_2 : ImageView
        val button_1 : Button
        val button_2 : Button
        var counter_1 = 0
        var counter_2 = 1
        button_1.setOnClickListener {
            when(counter_1){
                0-> image_1.setImageDrawable(R.drawable.1_1)
                1-> image_1.setImageDrawable(R.drawable.1_2)
    
            }
            counter_1++
        }
        button_2.setOnClickListener {
            when(counter_2){
                0-> image_1.setImageDrawable(R.drawable.2_1)
                1-> image_1.setImageDrawable(R.drawable.2_2)
            }
            counter_2++
        }
    

    【讨论】:

    • 无法声明这些变量。我应该使用 = 而不是 : 吗?
    • 这只是它的外观示例。 : 仅用于显示这些变量属于哪个类。您必须将 image_1,image_2,button_1,button_2 分配给适当的对象,并且应该给它们正确的名称。例如,您可以这样做: val image_2 = R.id.image_2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多