Android studio:实现点击事件的4种方法方法
一、结合layout文件声明
Xml主要代码
在相应控件下写上:android:onClick=“btnClick”
Java代码:
public void btnClick(View view){
//参数content,text,duration
//上下文(相当于环境);显示提示的信息;显示提示的时长
Toast.makeText( LoginActivity.this, “登录成功”, Toast.LENGTH_SHORT).show();
}
其他方法
1、内部实现类;2、Activity实现OnClicklistenter;3、匿名内部实现类
事件写法思路
1、根据控件的Id去获取控件
2、设置控件的事件
3、在事件方法中去处理事件
方法2:内部实现类
public class LoginActivity extends AppCompatActivity {
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate( savedInstanceState );//设置布局setContentView( R.layout.activity_login );//获取控件Button btnSubmit = findViewById( R.id.btn_login_submit );//1、创建内部实现类的对象ClickListener clickListener = new ClickListener();//1、设置点击事件btnSubmit.setOnClickListener( clickListener );}//1、内部实现类的方法class ClickListener implements View.OnClickListener{@Overridepublic void onClick(View v) {int id=v.getId();switch (id){case R.id.btn_login_submit:Toast.makeText( LoginActivity.this, \"提示:内部实现类\", Toast.LENGTH_SHORT).show();break;}}}
方法3:Activity实现OnClicklistenter
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
//设置布局
setContentView( R.layout.activity_login );
//获取控件
Button btnSubmit = findViewById( R.id.btn_login_submit );
//设置点击事件
btnSubmit.setOnClickListener(this);
}
//Activity实现OnClicklistenter@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.btn_login_submit:Toast.makeText( LoginActivity.this, \"提示:Activity实现OnClicklistenter\", Toast.LENGTH_SHORT).show();break;}}
}
方法4:匿名内部实现类
public class LoginActivity extends AppCompatActivity {
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate( savedInstanceState );//设置布局setContentView( R.layout.activity_login );//获取控件Button btnSubmit = findViewById( R.id.btn_login_submit );//匿名内部实现类,接口的匿名实现类btnSubmit.setOnClickListener( new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText( LoginActivity.this, \"提示:匿名内部实现类\", Toast.LENGTH_SHORT).show();}} );}
}