2017-07-03 2 views
4

Ich erhalte die folgenden Laufzeitfehler:Illegal: Parameter als nicht-null angegeben sind null

checkParameterIsNotNull, parameter oneClickTokens 
    at com.info.app.fragments.Fragment_Payment_Profile$fetchMerchantHashes$1.onPostExecute(Fragment_Payment_Profile.kt:0) 
    at com.info.app.fragments.Fragment_Payment_Profile$fetchMerchantHashes$1.onPostExecute(Fragment_Payment_Profile.kt:1543) 

Hier mein Code:

private fun fetchMerchantHashes(intent: Intent) { 
    // now make the api call. 
    val postParams = "merchant_key=$key&user_credentials=$var1" 
    val baseActivityIntent = intent 
    object : AsyncTask<Void, Void, HashMap<String, String>>() { 

     override fun doInBackground(vararg params: Void): HashMap<String, String>? { 
       ... 
     } 

     override fun onPostExecute(oneClickTokens: HashMap<String, String>) { 
      super.onPostExecute(oneClickTokens) 
      ... 

     } 
    }.execute() 
} 

Es scheint, dass der Funktionsaufruf scheint ungültig zu sein. Ich weiß jedoch nicht, wie ich dieses Problem beheben kann. Gibt es irgendetwas, was Kotlin spezifisch ist, das ich vermisst habe?

+1

Es ist keine Frage. Bitte formulieren Sie einen, um Hilfe zu bekommen. – guenhter

Antwort

17

Die Ausnahme ist ziemlich klar: Sie übergeben null für den Parameter.

Standardmäßig sind alle Variablen und Parameter in Kotlin nicht null. Wenn Sie null Parameter an die Methode übergeben möchten, sollten Sie ? zu seiner Art, zum Beispiel hinzufügen:

fun fetchMerchantHashes(intent: Intent?) 

Für weitere Informationen: null-safety.

+0

hinzugefügt vollständige Methoden und Fehlerprotokoll .. Bitte überprüfen Sie oben –

+0

yeah korrigieren Sie es behoben ... –

Verwandte Themen