最近开始学习Android的开发,首先学习了一下在Android开发中的按钮点击事件的实现,在网上找到四种实现方式在此做一个记录,方便日后温习查看。

方式一、匿名内部类:

new 一个OnClickListener接口作为ButtonsetOnClickListener方法的参数

public class MainActivity extends AppCompatActivity {    Button btn1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn1 = (Button)findViewById(R.id.btn1);        // 给Button添加点击事件的第一种方式:匿名内部类        btn1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent intent = new Intent(MainActivity.this,Example1.class);                startActivity(intent);            }        });    }

方式二、内部类:

Button所在的class内部再建一个类ClickListener并实现OnClickListener接口。
直接new一个ClickListener的实例作为ButtonsetOnClickListener方法的参数

public class MainActivity extends AppCompatActivity {        Button btn1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn1 = (Button)findViewById(R.id.btn1);        // 给Button添加点击事件的第二种方式:内部类        btn1.setOnClickListener(new ClickListener());    }        class ClickListener implements View.OnClickListener {        @Override        public void onClick(View view) {            Log.i("Info","btn1 goto next page");            Intent intent = new Intent(MainActivity.this,Example3.class);            startActivity(intent);        }    }}

方式三、实现OnClickListener接口

Button所在的class本身实现OnClickListener接口,并且作为ButtonsetOnClickListener方法的参数

public class MainActivity extends AppCompatActivity implements View.OnClickListener{    Button btn1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn1 = (Button)findViewById(R.id.btn1);        btn1.setOnClickListener(this);    }    // 给Button添加点击事件的第三种方式:实现OnClickListener接口    @Override    public void onClick(View view) {        Log.i("Info","btn1 goto next page");        Intent intent = new Intent(MainActivity.this,Example3.class);        startActivity(intent);    }}

方式四、直接在布局文件中指定点击事件

以上三种方式归根结底都是实现OnClickListener来监听Button的点击事件,而下面的方式是直接在布局文件中直接指定响应Button的点击事件的方法

xml

    

java

public class MainActivity extends AppCompatActivity {    Button btn1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    // 给Button添加点击事件的第四种方式:直接在布局文件中指定点击事件    public void btn4Click(View view){        Log.d("DEBUG","btn1 go to next page");        Intent intent = new Intent(MainActivity.this,Example4.class);        startActivity(intent);    }}

更多相关文章

  1. Android中防止Toast一直点击一直弹出
  2. 多种方式实现Android页面布局的切换
  3. android 按钮点击更改背景色或背景图
  4. android之AlertDialog 点击其他区域自动消失
  5. [置顶] Android(安卓) ExpandableListView
  6. Android(安卓)PopupWindow GridView onItemClick无效
  7. android事件4-onTouchEvent, onClick及onLongClick的调用机制
  8. 做WebView的时候遇到的错误
  9. Android(安卓)Studio真机调试无法找到设备

随机推荐

  1. android之GSON解析JSON
  2. Android常见监听事件
  3. Android 助力云计算
  4. android listview继承BaseAdapter,自定义
  5. EditText支持Search按键搜索
  6. Android上的单元测试
  7. Android ImageView配置android:layout_he
  8. 设置Button挨在一起
  9. js调用android的版本兼容问题
  10. android用okhttp和retrofit访问网络的时