/ / Co to jest scala-android.jar? - java, android, scala

Co to jest scala-android.jar? - java, android, scala

Próbowałem eksperymentować z tworzeniem aplikacji dla Androida w Scali.

Doszedłem do punktu, w którym mogę skompilować aplikację, ale nie ma funkcji pomocnika dla takich rzeczy jak:

button.setOnClickListener( () => {
text.setText("test")
})

(Mówię o zamknięciu)

Widzę wiele odniesień do scala-android.jar, i mam ten plik w moim projekcie, ale nie jestem pewien, co robi i jak go używać. Mam wrażenie, że ma te funkcje konwersji pomocnika, ale nie jestem pewien. Bieganie jar -tvf scala-android.jar w pliku daje mi to:

401 Sun Jun 06 10:06:02 MDT 2010 scala/Function0$class.class
431 Sun Jun 06 10:06:02 MDT 2010 scala/Function0.class
572 Sun Jun 06 10:06:02 MDT 2010 scala/Function1.class
282 Sun Jun 06 10:06:02 MDT 2010 scala/ScalaObject$class.class
271 Sun Jun 06 10:06:02 MDT 2010 scala/ScalaObject.class
458 Sun Jun 06 10:06:02 MDT 2010 scala/runtime/BoxedUnit.class

Jeśli nie jest to coś, czego szukam, czy istnieje prosta biblioteka, która będzie dokonywać konwersji dla tego rodzaju rzeczy?

Odpowiedzi:

8 dla odpowiedzi № 1

Możesz stworzyć własną, okazało się, że jest to bardzo łatwe i lekkie w Scali.

Oto moje, dla twojego odniesienia.

trait FindView
{
this: Activity =>

def findView [WidgetType] (id: Int) : WidgetType = {
return findViewById (id).asInstanceOf[WidgetType]
}

implicit def listenerFromFunction (action: () => Any) = {
new View.OnClickListener() {
def onClick(v: View) {action ()}
}
}
}

Zamieszaj to w swojej klasie aktywności i możesz to zrobić tak jak na przykład.