2016-08-16 32 views
0

首先爲長題目道歉,我不確定如何說話。Android聲明在課堂頂部的元素爲私人或在作爲最終創建 - 只爲onclicklistener

我爲一個按鈕創建了一個onclicklistener,我正在嘗試提高我的應用程序性能。

現在我正在使用這個。

final Button ZeroCounter = (Button)view.findViewById(R.id.btn_DigitalReadout_ZeroCounter); 
    ZeroCounter.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      ZeroCounters(); 
     } 
    }); 

是否有任何理由,爲什麼我會想首先聲明按鈕,如在我班上的第一名個人按鈕ZeroCounter當所有我需要它是onclicklistener

謝謝。

回答

0

你可以通過XML文件 設置上點擊功能(不宣佈的按鈕全部)

在按鈕XML:

android:onClick="myClick" 

和落實科學類的onClick功能:

public void myClick(View v) { 
    // your code ...  
} 
0

當我們使用匿名內部類的一些規則alrady定義內型

訪問封閉範圍內的局部變量和聲明和匿名類

  • 像本地類,匿名類可以捕捉變量訪問成員;它們 對封閉範圍的局部變量具有相同的訪問權限:
  • 一個匿名類可以訪問其封閉類的成員。

  • 匿名類不能訪問未聲明爲最終或有效最終作用域的封閉的
    範圍內的局部變量。

  • 像嵌套類,在 一個類型(例如,變量)一個匿名類陰影任何其他聲明中具有相同名稱的封閉
    範圍的聲明。

匿名類也有同樣的限制,本地類相對於他們的成員:

  • 你不能在 匿名類聲明靜態初始化或成員接口。

  • 匿名類可以有靜態成員,只要它們是 常量變量。

請注意,你可以聲明下面的匿名類:

  • 額外的方法(即使他們不執行 超的任何方法)

  • 實例初始值設定項

  • 局部類

但是,你不能在一個匿名類聲明構造函數。

0

是否有任何理由爲什麼我會首先聲明按鈕,如私人按鈕ZeroCounter在我的課堂上,當我需要的是onclicklistener?

不,沒有理由宣佈private Button作爲全球,如果你需要它在1方法。最好在onCreate()或其他任何你需要使用的地方聲明它。

但有時候你需要在其他方法中使用Button所以,你需要將它聲明爲全局的。