法一:匿名内部类

public class MainActivity extends AppCompatActivity {    private Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }    private void initView() {        button = (Button) findViewById(R.id.btn);                button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this, "匿名内部类 监听", Toast.LENGTH_SHORT).show();            }        });    }}

 

法二:内部类

public class MainActivity extends AppCompatActivity {    private Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }        private void initView() {        button = (Button) findViewById(R.id.btn);        button.setOnClickListener(new MyClickListener());    }    class MyClickListener implements View.OnClickListener {        @Override        public void onClick(View v) {            Toast.makeText(MainActivity.this, "内部类 监听", Toast.LENGTH_SHORT).show();        }    }}

 

法三:Activity 实现 View.OnClickListener 接口

public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }    private void initView() {        button = (Button) findViewById(R.id.btn);        button.setOnClickListener(this);    }        @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.btn:                Toast.makeText(MainActivity.this, "Activity 实现 View.OnClickListener 接口", Toast.LENGTH_SHORT).show();                break;            default:                break;        }    }}

 

法四:xml 文件中使用 onClick 属性

在 xml 文件中显式指定标签的 onClick 属性,在 Activity 中写一个 onClick 属性同名方法

activity_main.xml

<Button    android:id="@+id/btn"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:onClick="xmlOnClick"    android:text="click" />

MainActivity.java

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    public void xmlOnClick(View view) {        switch (view.getId()) {            case R.id.btn:                Toast.makeText(MainActivity.this, "在 xml 文件中使用 onClick 属性", Toast.LENGTH_SHORT).show();                break;            default:                break;        }    }}

 

转载于:https://www.cnblogs.com/marvinlh/p/5946722.html

更多相关文章

  1. Android开发之环形进度条(安卓默认…
  2. android————EditText
  3. 实现RadioButton多行多列排列布局
  4. 侧滑菜单(二)
  5. Android(安卓)Studio购物车,结算,二级目录
  6. Android手机定位案例代码
  7. 接收系统广播监听网络变化
  8. SeeKBarTest
  9. android之Handler控制进度条

随机推荐

  1. Intel发布Android模拟器的x86系统映像
  2. Android开发利器之pidcat安装方式
  3. Android(安卓)Clean 架构浅析
  4. Android游戏框架与常识
  5. Android 四大组件之Activity 基础总结(1)
  6. android DES 字符串加密后 解密乱码
  7. Android初学心得和一些资料下载
  8. ExtJS在Android中的显示效果
  9. Android中ViewFlipper的使用
  10. Android高手进阶教程(十五)---Android中