Scalaで書こうとすると実行時にAbstractMethodErrorが発生する訳です。
で、これはどうもJava側での可変長引数をScalaでよろしく処理できないためのようで。
てことで検索したら解決策を発見したのでメモ。
https://gist.github.com/1175555
@Override protected Result doInBackground(Params... params) { return doInBackground(params.length > 0 ? params[0] : null); } abstract protected Result doInBackground(Params param);
AsyncTaskを継承したJavaクラスを作成し、可変長引数を受け取ったらその1個目の引数を使ってabstractメソッドに処理を移譲しています。