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