Android (Kotlin):更改函数中 ImageButton 的背景

问题描述 投票:0回答:1

问题:如何将 ImageButton 声明为公共,就像在 Java 中一样:

public class MainActivity extends AppCompatActivity {

    ImageButton b1;

问题: 此代码按预期工作:

override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
   val b1 = findViewById<ImageButton>(R.id.btn_switch) as ImageButton
   b1.setBackgroundResource(R.drawable.switch_gray)`

在 onCreate{} 之外的公共乐趣中,相同的代码使我的应用程序崩溃:

private fun myfunction(it: String?) {
        if (output == "false") { findViewById<ImageButton>(R.id.btn_switch).setBackgroundResource(R.drawable.switch_red)  }
android kotlin android-drawable imagebutton
1个回答
0
投票

您可以在类中为 ImageButton 创建有关 onCreate() 方法的变量

private lateinit var b1: ImageButton

这段代码相当于

ImageButton b1;
这段Java代码。

稍后您可以在 onCreate 中初始化该 ImageButton 并在类中的任何位置使用它。

© www.soinside.com 2019 - 2024. All rights reserved.