我来自Objective-C背景。我必须以编程方式创建对象,因此尝试在Java和Kotlin中对其进行探索。
在Objective-C中,我们曾经在.h文件中声明实例变量并在.m文件中的任何位置访问它们,是否有类似的接口在其中,我们在某处声明变量和对象类型,然后在我们的kotlin类中对其进行访问?
我试图声明一个变量,我可以在一个类(例如MainActivity)内部的不同方法中访问该变量。在Java中,它可以正常工作,但是在Kotlin中,我想在不初始化的情况下很难声明它。需要帮忙。
//Here is the Java Code that works fine.
public class MainActivity extends AppCompatActivity {
**LinearLayout box;**
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
**box = new LinearLayout(this);**
}
private void SampleMethod () {
**box.setBackgroundColor(Color.RED);**
}
}
如果我尝试在Kotlin中实现此目标,则会使用stacktrace中提供的ERROR停止应用程序。
//Here is Kotlin code that is stopping the app.
class MainActivity : AppCompatActivity() {
**val sample = TextView(this)** // I need to declare variable here.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
**sample.setText("Hello!")**
MainContainer.addView(sample)
}
fun Test() {
**sample.setBackgroundColor(Color.RED)**
}
}
jeck猫
相关分类