Что находится в scala-android.jar? - PullRequest
3 голосов
/ 06 июня 2010

Я пытался поэкспериментировать с разработкой приложений для Android с помощью Scala.

Я дошел до того, что могу компилировать приложение, но нет вспомогательных функций для таких вещей, как:

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

(я говорю о закрытии там)

Я вижу много ссылок на scala-android.jar, и у меня есть этот файл в моем проекте, но я не уверен, что он делает или как его использовать. У меня такое ощущение, что у него есть эти функции преобразования помощников, но я не уверен. Запуск jar -tvf scala-android.jar в файле дает мне это:

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

Если это не то, что я ищу, есть ли простая библиотека, которая будет делать преобразования для такого рода вещей?

1 Ответ

8 голосов
/ 07 июня 2010

Вы можете создать свой собственный, я обнаружил, что это очень легко и легко в Scala.

Вот мой, просто для справки.

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 ()}
        }
    }
}

Добавьте это в свой класс Activity, и вы можете сделать это, как в своем примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...