4.AS按钮四种点击事件及长按事件


第一种内部类方法,

 

//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;
            }
        });

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM