第一种内部类方法,
//1.2这些写在onCreate的方法里面,3.写在MainActivity这个类里面 //1.找到按钮,给按钮类似于实例化一样 Button bb = (Button) findViewById(R.id.按钮的id); //2.给按钮设置一个点击事件,这里的MM是自己定义的类 bb.serOnClickListener(New MM()); //3.定义个内部类 private class MM implements OnClickListener { //重写这个点击方法 public void onClick(View v){ //这里写事件 } }
第二种,匿名内部类,跟上一个差不多,但是稍微简单一点
//1.找到按钮,给按钮类似于实例化一样 Button bb = (Button) findViewById(R.id.按钮的id); //2.紧接着给按钮设置一个点击事件,既然他需要一个OnClicklistener那就直接new一个 bb.setOnClickListener(new OnClicklistener(){ public void onClick(View v){ //点击事件 } });
//经过检测之后 //这样做,符合Android Studio 的语法 Button bb_208 = (Button) findViewById(R.id.b208); bb_208.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent my1 = new Intent(sman.this, s208.class); startActivity(my1); //这里写代码 } });
第三种,适合于多个不同的按钮
在onCreate这个方法里面
//找到我们关心的控件
b1 = (Button)findViewById(R.id.bu_1);
b2 = (Button)findViewById(R.id.bu_2);
//紧接着 b1.setOnClickListener(MainActivity.this); b2.setOnClickListener(MainActivity.this);
//在下面在定义一个方法 public void onClick(View v)
{ //具体判断点击的是哪个按钮
switch(v.getId()){
case R.id.bu_0://代表点击第一个按钮
data+="0";
data_in+="0";
et_2.setText(data);
et_2.setSelection(data.length());
break;
case R.id.bu_1: data+="1"; data_in+="1"; et_2.setText(data); et_2.setSelection(data.length()); break; case R.id.bu_2:// data+="2"; data_in+="2"; et_2.setText(data); et_2.setSelection(data.length()); break; default: break; } }
第四种,最快,适合demo
//按钮设置好这个属性 android:onClick="clickk_5" //再去mainactivity中添加一个方法 public void clickk_5(View source) { TextView tv1 = (TextView)findViewById(R.id.tt2); tv1.setTextSize(10); tv1.setTextColor(Color.BLUE);//设置颜色 }
点击长按事件
组件.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { sy("长按title"); /** * 点击消息是否进行拦截? * 如果是true 不会触发后续事件 * 如果是false 会触发后续事件 比如说单击事件 */ return true; } });