Android的事件處理——監聽介面方式
監聽介面處理步驟:
1. 實現Listener介面
(1)定義Activity時實現介面
(2)定義內部類實現介面
(3)通過匿名內部類實現介面
2. View控制元件註冊事件監聽器
例:myButton.setOnClickListener(this);
3. 重寫OnXXX()方法**
例:public void onClick(View v)方法
三個例子:
定義Activity時實現OnClickListener介面:
//1.實現介面
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private int count = 0;
private Button btnClick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//2.註冊監聽器
btnClick = findViewById(R.id.btnClick);
btnClick.setOnClickListener(this);
}
//3.重寫onClick方法
@Override
public void onClick(View view) {
count++;
if (count == 5){
finish(); // 退出
}
btnClick.setText("我被點選了" + count + "次");
}
定義內部類實現OnKeyListener介面:
public class MainActivity extends AppCompatActivity {
//1.實現介面
class MyKeyListener implements View.OnKeyListener{
//3.重寫onKey方法
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
keyCode += "鍵盤碼:" + i + "\n";
System.out.println("wwwkkk----" + keyCode);
textView.setText(keyCode);
return false;
}
}
注意:每次鍵盤輸入1次,textView顯示2次“鍵盤碼值”,是因為KeyEvent觸發了DOWN和UP兩次事件
定義匿名內部類實現OnTouchListener介面:
public class MainActivity extends AppCompatActivity {
private TextView textViewTouch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textViewTouch = findViewById(R.id.textViewTouch);
ImageView imageView = findViewById(R.id.imageViewTouch);
}
}
相關文章
- Netty事件監聽和處理(上)【有福利】Netty事件
- Netty事件監聽和處理(下)【有福利】Netty事件
- Netty中自定義事件處理程式和監聽器Netty事件
- java springboot監聽事件和處理事件JavaSpring Boot事件
- Oracle 監聽異常處理Oracle
- React 中常用的事件處理方式React事件
- 事件和事件監聽器事件
- JavaScript 事件監聽JavaScript事件
- springboot事件監聽Spring Boot事件
- js 監聽事件JS事件
- Flutter事件監聽Flutter事件
- 監聽滑鼠事件事件
- jQuery事件監聽jQuery事件
- 關於Android的幾種事件處理Android事件
- 監聽鍵盤事件事件
- 初識事件監聽事件
- vue之監聽事件Vue事件
- 監聽所有模型的 saved 事件模型事件
- 對於linux go1.5版本的一種tcp監聽關閉處理方式LinuxGoTCP
- 如何移除事件監聽器事件
- deleted事件監聽報錯delete事件
- Spring Boot 事件和監聽Spring Boot事件
- Android截圖監聽Android
- js 註冊事件的兩種方式詳解,傳統註冊事件與方法監聽註冊事件(addEventListener)JS事件dev
- Android 介面顯示與邏輯處理Android
- 統一監聽所有模型的模型事件模型事件
- 使用 vue 例項更好的監聽事件Vue事件
- js 監聽事件的疊加和移除JS事件
- 監聽瀏覽器的後退事件瀏覽器事件
- 基於laravel的事件監聽例項Laravel事件
- Spring事件釋出與監聽Spring事件
- 如何監聽SAP CRM BOR事件事件
- flutter 中監聽滑動事件Flutter事件
- java 監聽 redis 過期事件JavaRedis事件
- h5 storage事件監聽H5事件
- 第四講、Vue3.x中的事件方法詳解、事件監聽、方法傳值、事件物件、多事件處理程式、事件修飾符、按鍵修飾符Vue事件物件
- vue的監聽鍵盤事件的快捷方法Vue事件
- 事件處理事件