Android按钮的五种点击监听事件处理
2017-01-12 12:20
513 查看
1、匿名内部类作为监听器
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
2、内部类作为监听器(可以使用)
button.setOnClickListener(new MyListener());
class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case value:
break;
}
}
}
3、Activity本身继承OnClickListener接口作为监听器使用(可以使用)
public class MainActivity extends Activity implements OnClickListener{
void methodA(){
button.setOnClickListener(this);
}
//继承接口监听处理方法
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.bt_call:
Toast.makeText(mContext, "拨打中", Toast.LENGTH_LONG).show();
callPhone(et_num.getText().toString().trim());
break;
}
}
}
4、外部类作为监听器
MainActivity.java
button.setOnClickListener(new MyListener());
MyListener.java
public class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
5、直接在控件中设置onclick属性 ctri+shift+g检测不到被引用,很可能被删掉,不建议使用
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt_call"
android:onClick="onClickButton"
android:text="@string/bt_call"/>
MainActivity.java
public void onClickButton(View v){
}
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
2、内部类作为监听器(可以使用)
button.setOnClickListener(new MyListener());
class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case value:
break;
}
}
}
3、Activity本身继承OnClickListener接口作为监听器使用(可以使用)
public class MainActivity extends Activity implements OnClickListener{
void methodA(){
button.setOnClickListener(this);
}
//继承接口监听处理方法
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.bt_call:
Toast.makeText(mContext, "拨打中", Toast.LENGTH_LONG).show();
callPhone(et_num.getText().toString().trim());
break;
}
}
}
4、外部类作为监听器
MainActivity.java
button.setOnClickListener(new MyListener());
MyListener.java
public class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
5、直接在控件中设置onclick属性 ctri+shift+g检测不到被引用,很可能被删掉,不建议使用
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt_call"
android:onClick="onClickButton"
android:text="@string/bt_call"/>
MainActivity.java
public void onClickButton(View v){
}
相关文章推荐
- 最棒的Android控件效果
- studio构建错误Element uses-permission#android.permission.ACCESS_NETWORK_STATE at AndroidManifest.xml:38:5-79 dupli
- 还在为AndroidStudio的Gradle版本配置头疼?看看老司机的解决方法吧
- [Android 知识点] 自定义View(三)
- 浅谈 MVP in Android
- 第一天 Android学习总结
- Android 6.0新特性之运行时权限
- 关于android6.0 权限问题
- android获取设备屏幕大小的方法
- Android Studio Mac版快捷键
- Android ScrollView里ViewPager滑动问题解决
- Android中Intent的Action和权限
- 第一天 黑马Android笔记
- Android设计模式之观察者模式
- Android开发各类常见错误解决方案
- Android studio使用---WiFi ADB使用以及连接手机调试
- Android 调试桥
- android ExpandableListView 界面更新数据
- Android中的Widget开发
- Android中intent传递对象和Bundle的用法