loginButton.setOnClickListener(this);这里为什么要用this呢?

loginButton.setOnClickListener(this);这里为什么要用this呢?

我有点不理解为什么这里用一个this就调用了onClick这个方法呢?

 

一般来说,android中的接口回调有3中。

1、 主程序回调

默认的这种this,结果就是 在 Activity 后面 跟了个  implements OnClickListener,然后根据提示,会自动在下面出现一个新的方法 onclick(),是单独的一个方法。

2、内部类格式的

mybtn.setOnClickListener(     后面 写个new  再用快捷键自动补全,会形成

mybtn.setOnClickListener(new View.OnClickListener() {

然后 工具又会自动补全为,

mybtn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {

   }
});

3、自定义接口

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);

   mybtn = (Button) findViewById(R.id.id_btn);
   mybtn.setOnClickListener(new myClick());
}


public class myClick implements View.OnClickListener {

   @Override
   public void onClick(View v) {
       
   }
}

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用Kotlin编写的一个安卓登录代码示例,包含中文提示和注释: ```kotlin import android.os.Bundle import android.widget.EditText import android.widget.Toast import androidx.appcompat.app.AppCompatActivity class LoginActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) // 获取输入框控件 val usernameEditText = findViewById<EditText>(R.id.username_edit_text) val passwordEditText = findViewById<EditText>(R.id.password_edit_text) // 获取登录按钮并设置点击事件 val loginButton = findViewById<Button>(R.id.login_button) loginButton.setOnClickListener { val username = usernameEditText.text.toString() val password = passwordEditText.text.toString() // 检查用户名和密码是否为空 if (username.isEmpty() || password.isEmpty()) { Toast.makeText(this, "用户名和密码不能为空", Toast.LENGTH_SHORT).show() } else { // TODO: 调用登录接口验证用户名和密码,这里省略 // 如果验证成功,跳转到主界面 startActivity(Intent(this, MainActivity::class.java)) finish() } } } } ``` 在上述代码中,我们首先通过`findViewById`方法获取了用户名和密码的输入框控件以及登录按钮控件,并设置了登录按钮的点击事件。在点击事件中,我们通过`text`属性获取了输入框中的文本内容,并进行了非空判断。如果用户名或密码为空,我们使用`Toast`显示了一条中文提示消息。如果用户名和密码都不为空,则可以调用登录接口验证用户名和密码,这里我们使用`TODO`占位符暂时省略了这一步。如果验证成功,我们使用`startActivity`方法跳转到主界面,并通过`finish`方法关闭当前登录界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值