Wpis z mikrobloga

@mamniciwszystko: w Javie też to nie działa. Masz zasadniczo trzy opcje: każdą metodę nazwać inaczej, zrobić tylko jedną metodę generyczną, albo zrobić interfejs generyczny czyli wyciągnąć parametr generyczny na poziom interfejsu. Jednak w przypadku interfejsu generycznego niestety dana konkretna klasa może implementować tylko jeden taki interfejs na raz, a zatem nie da się zrobić klasy implementującej równocześnie CallListener oraz CallListener. No cóż, genericsy w Javie/Kotlinie są takie trochę niedorobione. W
@Krolik: @mamniciwszystko: @whoru:
#!$%@? się znacie.

Masz 2 opcje:

1. Robisz:
interface Result{

}

data class CommentResult(val list:List):Result
i tak dla każdego.

i masz potem:

fun onResult(result:Result)

w implementacji sobie rzutujesz

2. Jak dla mnie najlepszy sposób (lub coś w ten deseń, piszę z głowy):

interface ResultItem

data class Comment:ResultItem

seald class Result(val itmes:List){
class CommentResukt):Result(comments:List)
itp
}

fun onResult(result:Result)

a w implementacji:

when(resut){
CommentResukt-> resut.items : List
}