第一种点击事件写法:结合layout文件声明方法,在layout布局文件中设置回调方法,然后在activity实现该方法 此方法不是一个通用的方法,一般不推荐使用,但对按钮等常用组件的点击事件处理确实很方便。
<!—以下为XML布局文件代码 登录按钮-->
<Button
android:id="@+id/btn_login_submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登 录"
android:textSize="24dp"
android:onClick="btnClick"
android:background="@color/colorAccent"
android:textColor="@color/colorWhite"
android:layout_margin="10dp">
</Button>
/*以下为Activity代码 第一种事件写法:结合layout文件声明方法 不推荐使用*/
public void btnClick(View view){ //参数 Context,text,duration //上下文,要提示的信息,提示显示的时长 Toast.makeText(LoginActivity.this,"提示:你点击了按钮",Toast.LENGTH_LONG).show(); }
第二种点击事件写法:内部实现类,在类里面写一个类,实现View.OnClickListener接口,然后在上面onCreate()方法中创建内部实现类对象,获取控件,设置控件点击事件:
//②第二种事件写法:内部实现类 class ClickListener implements View.OnClickListener{ @Override public void onClick(View v) { int id=v.getId(); switch (id){ case R.id.btn_login_submit: Toast.makeText(LoginActivity.this,"提示:你点击了按钮,内部实现类",Toast.LENGTH_LONG).show(); break; } } }
onCreate()方法中代码:
//获取控件
Button btnLogin = findViewById(R.id.btn_login_submit);
//②创建内部实现类对象 ClickListener clickListener=new ClickListener(); //②设置点击事件 btnLogin.setOnClickListener(clickListener);