2012-12-15 71 views
3

我試圖實現一個自定義按鈕,它允許我在單擊按鈕(如編寫日誌)時執行一組標準操作,並執行爲每個實例指定的指定點擊偵聽器的按鈕。那可能嗎?Android自定義按鈕通用點擊處理程序

非常感謝

+0

這聽起來像是標準之前發現的解決方案,這樣的按鈕,我可以做一組標準的動作(在這種情況下,它只是寫入日誌)的每個實例按鈕操作。你所描述的是標準的按鈕功能,可在Android中使用。提供更多細節。 – Booger

+0

我想要做的是以下幾點:我有一個擴展Button的類。我在應用程序中使用這個按鈕類,所以它被使用了好幾次。該應用程序用於商業環境,當用戶報告問題時,我們會帶他去調查問題。所以爲了追蹤用戶活動,我想每次用戶點擊一個按鈕時寫一個日誌(我有一個函數,它給出了一個資源的名稱,因爲它是id)。所以需要不要在每個點擊監聽器上寫日誌,而是在它自己的按鈕中有這個邏輯。 – Apperside

回答

5

執行指定的點擊收聽

@Override 
    public void setOnClickListener(final OnClickListener l) { 

     super.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       LogHelper.WriteLogInfo("click"); 
       l.onClick(v); 

      } 
     }); 
    } 
2

試試這個:

實現OnClickListener您的活動:像這一切的觀點

public class MainActivity extends Activity implements OnClickListener 

添加點擊監聽器:

boldButton = (Button) findViewById(R.id.bold); 
boldButton.setOnClickListener(this); 

然後覆蓋的OnClick所有觀點共同事件:

@Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
     case R.id.bold: 
      // Do Something     
      break; 

     case R.id.italic: 
      // Do Something 
      break; 

     case R.id.underline: 
      // Do Something 
      break; 

     case R.id.reset: 
      // Do Something 
      break; 

     default: 
      break; 
     } 
    } 

希望它可以幫助你。

謝謝。

+0

感謝您的建議,但我不能這樣做,因爲按鈕被使用了一百次 – Apperside