Kotlin build error in Android Studio on << intent.putExtra("string", it.getString("string") >>

Viewed 2026

I can't figure out what's wrong with the following piece of code. Seems to me getString necessarily returns a String. In fact, it works on the lines above! Is this a bug?

fun loadExtraBundleIntoIntent(origIntent: Intent, resultIntent: Intent) {
    origIntent.extras?.let {
        if (it.getString("peerUid") != null) {
            resultIntent.putExtra("fragment", "ChatFragment")
            resultIntent.putExtra("peerUid", it.getString("peerUid"))
        } else if (it.getString("fragment") != null) {
            resultIntent.putExtra("fragment", it.getString("fragment"))
        }

        if (it.getString("action") != null)
            resultIntent.putExtra("action", it.getString("action"))
    }
}

Error on

resultIntent.putExtra("fragment", it.getString("fragment"))

Error message:

Error:(80, 30) Overload resolution ambiguity:
public open fun putExtra(p0: String!, p1: Bundle!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Parcelable!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Serializable!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Array<(out) Parcelable!>!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Array<(out) CharSequence!>!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Array<(out) String!>!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Boolean): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: BooleanArray!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Byte): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: ByteArray!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Char): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: CharArray!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: CharSequence!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Double): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: DoubleArray!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Float): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: FloatArray!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Int): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: IntArray!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Long): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: LongArray!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: Short): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: ShortArray!): Intent! defined in android.content.Intent
public open fun putExtra(p0: String!, p1: String!): Intent! defined in android.content.Intent

Screenshot of error

4 Answers

should fill the value with noun-null value ... if ur value is null u can not use it and take this error

LIKE :

 intent.putExtra("PRICE", txt_price)

u should pass Correct value LIKE :

  intent.putExtra("PRICE", product.price)
Related