當我在Netbeans(我正在測試我的LightMateConnection類)中編寫下面的代碼時,它編譯並運行時沒有錯誤。Android Studio不識別匿名類嗎?
public class Main {
public static void main(String[] args){
final LightMateConnection a = new LightMateConnection();
a.addConnectionListener(new ConnectionListener()
{
@Override
void onConnect(){
//Do Stuff
}
@Override
void onDisconnect(){
//Do Stuff
}
});
}
}
既然它適用於Netbeans,我想到當我轉移到Android Studio時,幾乎相同的代碼仍然可以工作。我創建了下面的構造函數:
public MainActivity(){ //Note that this is a constructor, not a class
super();
LightMateConnection lmc = new LightMateConnection();
lmc.addConnectionListener(new ConnectionListener()
{
@Override
void onConnect(){
//Do Stuff
}
@Override
void onDisconnect(){
//Do Stuff
}
});
}
Android Studio給我3個錯誤。在第4行,有...(new ConnectionListener()
,我得到「從ConnectionListener派生的類」匿名類必須聲明爲抽象或在'ConnectionListener'中實現抽象方法'onConnect()'。很明顯,我正在下面實施這些方法,Netbeans能夠繼續。我的其他兩個錯誤在Override註解中,它們是「方法不會覆蓋超類的方法」。
這就像Android Studio不像Netbeans那樣解釋我的代碼。
Android Studio是否從正確的包中導入'ConnectionListener'? – stkent
是的,這是我自己的'ConnectionListener': 'import com.coolkev.lightmate.ConnectionListener;' –
嘗試重新啓動,可能是一些AS'故障,有時會發生 – AndroidEx