2015-12-07 15 views
26

Sono nuovo di Kotlin e sto cercando di usarlo nel mio progetto Android. Ho questo codice:Creare un'istanza di una classe astratta in Kotlin

public var oneTouchTimer: CountDownTimer = CountDownTimer(500, 100) { 
    override fun onTick(l: Long) { 

    } 

    override fun onFinish() { 

    } 
} 

Ed è gettando l'errore:

Cannot create an instance of an abstract class. 

Fondamentalmente sto cercando di creare un'istanza di CountDownTimer e non riesco a capire come per convertirlo in Kotlin.

Ecco il codice in Java:

CountDownTimer oneTouchTimer = new CountDownTimer(500, 100) { 
    @Override 
    public void onTick(long l) { 

    } 

    @Override 
    public void onFinish() { 

    } 
}; 

risposta

52

È possibile utilizzare questo metodo:

var variableName = object: CountDownTimer(...){ 
    ... 
} 
+12

Per chi fosse curioso, questi sono chiamati "le espressioni degli oggetti" in Kotlin. I documenti sono disponibili qui: https://kotlinlang.org/docs/reference/object-declarations.html –

Problemi correlati