編輯:關於Android編程
在android中一共有 多種事件,每種事件都有自己相對應的處理機制
如以下幾種
1
單擊事件
View.OnClickListener
public abstract void onClick (View v)
監聽方法
1
public void setOnClickListener(View.OnClickListener l)
普通
下面以Onclick單機事件為例 說明android中處理事件的三種方式
1.內部類處理事件
2.匿名內部類處理事件
3.數據源處理事件
例子如下:
XML文件
package com.example.actionoperator; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { public Button button1, button2, button3; // 獲取BubuttonOnClickListener對象 ButtonOnClickListener click =new ButtonOnClickListener(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.activity_main); button1 = (Button) this.findViewById(R.id.button1); button2 = (Button) this.findViewById(R.id.button2); button3 = (Button) this.findViewById(R.id.button3); // 使用內部類進行處理 button1.setOnClickListener(new MyListener()); // 使用匿名內部類進行處理 button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "匿名內部類的方法實現方法監聽處理", 2).show(); } }); // 使用數據源的方法進行處理,可以講所有的單機事件都注冊在這個click上進行處理 button3.setOnClickListener(click); } class ButtonOnClickListener implements OnClickListener { public void onClick(View v){ // 讀者可以在這裡設置 switch case 語句對傳來參數的ID進行判斷 實現多個事件的同一方法處理 if (v==button3) { Toast.makeText(MainActivity.this, "使用數據源實現方法監聽處理", 2).show(); } } } class MyListener implements OnClickListener { @Override public void onClick(View view) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "內部類的方法實現方法監聽處理", 2).show(); } } }
最終效果
所有事件的處理方法都基本上是以上的三種處理機制,希望讀者都要認真掌握
下節預報:
Dialog對話框組件
網上一般對進度條的示例都是如何顯示,沒有在任務結束如何關閉的文章,參考其他文章經過試驗之後把整套進度條顯示的簡單示例如下: 建立an
一、非法字符: '?'在將項目導入到Studio時提示 錯誤:非法字符: '?',編譯器沒報錯但編譯出錯,比較頭疼,後來發現原
首先我們看一下什麼叫做透明的進度對話框:接下來我們講一下如何創建:1、使用Eclipse創建一個新的Android 項目,使用Android
在Android中,對Fragment的操作都是通過FragmentTransaction來執行。而從Fragment的結果來看,FragmentTransaction中