studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android exception null kotlin

android - programacion - IllegalArgumentException: el parámetro especificado como no nulo es nulo



manual de programacion android pdf (2)

En mi caso, este error advirtió sobre la posibilidad de pasar un nulo como parámetro. Dos formas de corrección.

  1. Cambiar un tipo de parámetro en el lugar correspondiente. Si se recibe de Java, agregue la anotación @NonNull a una definición de variable.
  2. Añadir !! a un parámetro del método.

Recibo el siguiente error de ejecución :

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)

Aquí está mi código :

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

Parece que la llamada a la función parece ser inválida. Sin embargo, no sé cómo solucionar este problema. ¿Hay algo específico de Kotlin que me haya perdido?


La excepción es bastante clara: se pasa null para el parámetro.

Por defecto, todas las variables y parámetros en Kotlin no son nulos. Si desea pasar un parámetro null al método, debe agregar ? a su tipo, por ejemplo:

fun fetchMerchantHashes(intent: Intent?)

Para más información: null-safety .