我是 Android Studio 和 Java 的新手。尝试写一个登录信息。有人可以帮助我了解代码的内容吗?
package com.example.XXX.myapplication
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView;
import android.widget.Button;
import android. widget.EditText;
import android.widget.Toast;
import kotlinx.android.synthetic.main.activity_calendar.*
class Calendar : AppCompatActivity() {
Button b1,b2; // Log in page** - b1 = log in; b2 - sign up;
TextView tx1, tx2,tx3; // tx1 = username; tx2 = password;
EditText ed1, ed2; // ed1 = username; ed2 = password inputs;
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_calendar)
// Example of a call to a native method
b1 = (Button)findViewById(R.id.bt1LogIn);
b2 = (Button)findViewById(R.id.bt2SignUp);
ed1 = (EditText)findViewById(R.id.etUserName);
ed2 = (EditText)findViewById(R.id.etPassword);
tx1 = (TextView)findViewById(R.id.tvUserName);
tx2 = (TextView)findViewById(R.id.tvPassword);
tx3 = (TextView)findViewById(R.id.tvattempts);
}
答案 0 :(得分:1)
通常,在 Kotlin 中,这样的视图声明应与lateinit var
一起使用,以避免出现expecting member declaration
错误。例如:
private lateinit var b1: Button
private lateinit var b2: Button
private lateinit var tx1: TextView
etc...
但是这里最方便的部分是,在导入kotlinx.android.synthetic.main.activity_calendar.*
时,您不必以编程方式实例化activity_calendar.xml
中定义的视图。这些视图将“为您实例化”。只需使用由@+id/...
定义的视图名称即可。例如:
etUserName.text = "Enter name"
请注意,在科特林中,分号是可选的,不应使用。
科特林进一步学习的起点:Get Started with Kotlin on Android