第一種內部類方法,
//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; } });
