2012-08-04 85 views
0

我正在爲學習android測試應用程序,我嘗試使用「implements」來使用類函數接口,正如我在Android教程中看到的。但是,當我嘗試按照本教程開發自己的界面時使用的語法時,出現錯誤並且無法使用界面功能。在教程中使用由人的語法就像關鍵字實現不工作Java

public class alfred extends Activity implements View.onClickListener() 
{some code .....} 

以同樣的方式我沒有,但我自己設計的界面就像

public class tony extends Activity implements Myinterface.foo() 
{...} 

,但我不能做Myinterface.foo(),但可以做MyInterface的和然後使用所有的接口功能。這是爲什麼? 感謝您的親切幫助!

+0

你能發佈你的MyInterface是如何定義的嗎? – 2012-08-04 22:55:44

+1

您可以鏈接到該教程嗎?我真的懷疑它會告訴你使用'implements Type.method()'而不是'implements Type'。 – Pshemo 2012-08-04 22:56:31

+0

這是一個相當簡單的界面。一些簡單的功能,僅用於測試目的。 – 2012-08-04 22:57:14

回答

3

在類視圖那裏有

public interface OnClickListener { 
     void onClick(View v); 
} 

仔細查看定義的接口的View.OnClickListener()不View.onClickListener()

嘗試

public class tony extends Activity implements Myinterface 
+0

如果OnClickListener是一個接口,爲什麼在這種情況下使用它()View.OnClickListener()? – 2012-08-04 23:03:19

+0

這就是你的教程中的一個錯誤,你不需要()來實現一個接口 – Michele 2012-08-04 23:16:30

+0

沒有冒犯,但我認爲你錯了。它不是一個接口,因爲當我們使用setonclicklistener()函數的時候,在它的參數裏面,新的View.OnClickListener(),所以我認爲它不是教程的錯誤 – 2012-08-04 23:25:20

0

你的行爲體驗正是應該發生的事情!我猜測並說你正在學習的教程中有一個錯誤。

要使用接口,請實現接口,而不是其公開的接口。因此,例如,您執行View.OnClickListener而不是View.OnClickListener.onClick() - 這是錯誤是我想象的地方),或在您的情況下Myinterface。然後您必須將所需的方法放入課程中(例如onClick(View)foo())。