18458

[code]

     public interface AsyncCallback {
         public fun preExecute()
         public fun postExecute(result: JSONObject)
         public fun progressUpdate(progress: Int)
         public fun cancel()
     }
    
[/code]

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[code]

    fun onProgressUpdate(vararg _progress: Int) {
            super.onProgressUpdate(*_progress)
            mAsyncCallback!!.progressUpdate(_progress[0])
        }
    
[/code]

> *_progress

の部分でエラーが出ています

> Type mismatch Required: kotlin.Array<(out) kotlin.Int!>! Found:  
>  kotlin.IntArray

Javaの場合Integerですが、Kotlinだとエラーになります。

[code]

    protected void onProgressUpdate(Integer... _progress) 
    
[/code]

~~~~~~~~~~~~~~  
↓値の渡し先

[code]

    @SuppressWarnings({"UnusedDeclaration"})
    protected void onProgressUpdate(Progress... values) {
    }
    
[/code]

直し方がわかりません。


CC BY-SA 3.0
2015-11-05T09:14:01.027
18432
2015-11-06T05:41:24.293
2015-11-06T05:41:24.293
7290
10715
question
java kotlin
型の不一致　kotlin.IntArray


勝手な推測ですがおそらく`android.os.AsyncTask`の`onProgressUpdate`メソッドをオーバライドしたいんですね。  
であれば`override fun onProgressUpdate(vararg p: Int?)`というシグネチャにすれば解決するはずです。  
下記コードはvalidです(Kotlinのバージョンは1.0.0-beta-1103)。

[code]

    class Foo: AsyncTask<A, Int, C>() {
        override fun onProgressUpdate(vararg p: Int?) {
            super.onProgressUpdate(*p)
        }
    }
    
[/code]

質問内容とは関係ないアドバイスですが、質問内容をもう少し具体的かつシンプルにすると回答が集まりやすいと思いますよ。例えば使用しているKotlinバージョンなど。  
あとはまずKotlinのドキュメントを一通り読んでみてはいかがでしょうか？


CC BY-SA 3.0
2015-11-06T04:31:34.410
18458
2015-11-06T04:31:34.410
10296
18432
answer