2011-07-19 70 views
1

我正在考慮製作可重複使用的功能,以使點擊次數可以忽略 - 在此示例中,背景爲RelativeLayoutAO靜態設置onClickListener,內存泄漏?

final RelativeLayout rlAO = (RelativeLayout) findViewById(R.id.RelativeLayoutAO); 
    Utility.setOnClickFinish(rlAO); 

然後在工具類:

public class Utility { 
    public static void setOnClickFinish(View view) { 
     view.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View clickedView) { 
      ((Activity) clickedView.getContext()).finish(); 
     } 
    }); 
} 
} 

這會導致內存泄漏?

回答

2

不,這不應該導致內存泄漏。

根據您的問題的標題,我認爲您可能誤解了static關鍵字的含義。你沒有設置任何「靜態」。 setOnClickFinish()被標記爲靜態的事實僅僅意味着它是一個類方法。

+0

啊,謝謝!我猜標題是誤導性的。我知道onClick不是靜態的,雖然實用程序的setOnClickFinish是靜態的並且可以在實例方法上工作。 – albnok