问题:如何将 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) }
您可以在类中为 ImageButton 创建有关 onCreate() 方法的变量
private lateinit var b1: ImageButton
这段代码相当于
ImageButton b1;
这段Java代码。
稍后您可以在 onCreate 中初始化该 ImageButton 并在类中的任何位置使用它。