IllegalArgumentException:指定为非null的参数为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) 

这是我的代码

  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>? { val url = URL("https://payu.herokuapp.com/get_merchant_hashes") val postParamsByte = postParams?.toByteArray(charset("UTF-8")) val conn = url?.openConnection() as HttpURLConnection conn.requestMethod = "GET" conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded") conn.setRequestProperty("Content-Length", postParamsByte.size.toString()) conn.doOutput = true conn.outputStream.write(postParamsByte) val responseInputStream = conn.inputStream val responseStringBuffer = StringBuffer() val byteContainer = ByteArray(1024) run { var i: Int while (true) { val i = responseInputStream.read(byteContainer); if (i == -1) break; responseStringBuffer.append(String(byteContainer, 0, i)) } } val response = JSONObject(responseStringBuffer.toString()) val cardTokens = HashMap<String, String>() val oneClickCardsArray = response.getJSONArray("data") val arrayLength: Int = oneClickCardsArray.length() if (arrayLength >= 1) { for (i in 0..arrayLength - 1) { cardTokens.put( oneClickCardsArray.getJSONArray(i).getString(0), oneClickCardsArray.getJSONArray(i).getString(1)) } return cardTokens } return cardTokens } override fun onPostExecute(oneClickTokens: HashMap<String, String>) { super.onPostExecute(oneClickTokens) try { if (activity != null && isAdded) { baseActivityIntent.putExtra(PayuConstants.ONE_CLICK_CARD_TOKENS, oneClickTokens!!) startActivityForResult(baseActivityIntent, PayuConstants.PAYU_REQUEST_CODE) } } catch (e: Exception) { e.printStackTrace() } } }.execute() } 

异常很清楚:你传递参数为null

默认情况下, Kotlin中的所有变量和参数都是非空的。 如果你想传递null参数给你应该添加的方法? 它的类型,例如:

 fun fetchMerchantHashes(intent: Intent?) 

欲了解更多信息: 零安全 。