當我使用到很多個Button時候,並不希望每個Button,
都新增一個相對應的callback。(假如有10個都要聆聽不同事件,這將會是一個很可觀的程式碼)
這時有兩種方法可以解決
第一種 實作聆聽事件
public class ClassName extends Activity implements OnClickListener,OnTouchListener
當我們宣告要實作後 便會有他要實作的Method
public void onClick(View v) {}//這是單擊事件
public boolean onTouch(View v, MotionEvent event){}//這是觸碰事件
之後我們就可以用她回傳的參數 v.getId() 來判斷是哪一個觸發的
switch(v.getId()){
case R.id.資源名稱:break;
}
第二種 在XML做宣告
直接在XML該元件中新增一個Method名稱,來表示要使用這個Method
android:onClick="ClickHandler"
然後在主要程式裡面跟上面方法相同
public void ClickHandler(View v)
{
switch(v.getId()){
case R.id.資源名稱:break;
}
}
沒有留言:
張貼留言