Home > database >  Share Function Not Working But Same Code Between Apps
Share Function Not Working But Same Code Between Apps

Time:01-09

Ok, so I am trying to figure out what I am doing wrong here and I'm at a loss. I created one app with a share function to be able to email the data that is put in for later use. That code works fine and is below:

val shareButton1 = findViewById<Button>(R.id.shareButton)
        shareButton1.setOnClickListener {
            val contractNumber = findViewById<EditText>(R.id.contractNumber)
            val conNumber = findViewById<TextView>(R.id.contractNum)
            val desNumber = findViewById<EditText>(R.id.desNumber)
            val desNum = findViewById<TextView>(R.id.desNum)
            val lotNum = findViewById<EditText>(R.id.lotNumber)
            val sublotNum = findViewById<EditText>(R.id.sublotNumber)
            val genNum = findViewById<TextView>(R.id.genNum)
            val ranTonnage = findViewById<TextView>(R.id.ranTonnage)
            val sublotTonnage = findViewById<EditText>(R.id.sublotTonnage)
            val sampleTonnage = findViewById<TextView>(R.id.sampleTonnage)
            val conNumber1 = conNumber.text.toString()
            val contractNumber1 = contractNumber.text.toString()
            val desNum1 = desNum.text.toString()
            val desNumber1 = desNumber.text.toString()
            val lotNum1 = lotNum.text.toString()
            val sublotNum1 = sublotNum.text.toString()
            val genNum1 = genNum.text.toString()
            val ranTonnage1 = ranTonnage.text.toString()
            val sublotTonnage1 = sublotTonnage.text.toString()
            val sampleTonnage1 = sampleTonnage.text.toString()
            val shareIntent = Intent()
            shareIntent.action = Intent.ACTION_SEND
            shareIntent.type = "text/plain"
            shareIntent.putExtra(Intent.EXTRA_TEXT, "$conNumber1 $contractNumber1 \n$desNum1 $desNumber1 \nLot #: $lotNum1 \nSublot #: $sublotNum1"  
                    "\nRandom Number Generated: $genNum1 \nRandom Tonnage: $ranTonnage1 \nSublot: $sublotTonnage1"  
                    "\nSample Tonnage: $sampleTonnage1 ")
            startActivity(Intent.createChooser(shareIntent, "Share via"))
            }

Now, I've created a second app to do the same thing with some different data and it isn't wanting to work. I've reviewed the code in the share function and everything seems the exact same. That code is posted below:

val shareButton1 = findViewById<Button>(R.id.share_button)
        shareButton1.setOnClickListener {
            val conNumber = findViewById<TextView>(R.id.contractNum)
            val conNumber1 = conNumber.text.toString()
            val contractNumber = findViewById<EditText>(R.id.contractNumInput)
            val contractNumber1 = contractNumber.text.toString()
            val desNumber = findViewById<TextView>(R.id.desNum)
            val desNumber1 = desNumber.text.toString()
            val desNum = findViewById<EditText>(R.id.desNumInput)
            val desNum1 = desNum.text.toString()
            val truckNumber = findViewById<TextView>(R.id.truckNum)
            val truckNumber1 = truckNumber.text.toString()
            val truckNum = findViewById<EditText>(R.id.truckNumInput)
            val truckNum1 = truckNum.text.toString()
            val cemDeliveredText = findViewById<TextView>(R.id.cementType1)
            val cemDeliveredCalc = findViewById<TextView>(R.id.cementType1Calculated)
            val shareIntent = Intent()
            shareIntent.action = Intent.ACTION_SEND
            shareIntent.type = "text/plain"
            shareIntent.putExtra(Intent.EXTRA_INTENT, "$conNumber1 $contractNumber1 \n$desNumber1 $desNum1 \nTruck #: $truckNum1"  
            "\nCement/Type1: $cemDeliveredCalc")
            startActivity(Intent.createChooser(shareIntent, "Share via"))
        }

I know there has to be something simple I am missing. Like I said, the first app code works exactly as expected and pulls all the information. The second app code doesn't pull anything at all. Any help on this would be greatly appreciated as I just seem to be running in circles.

CodePudding user response:

the issue with your code is in second app you can see you send

 shareIntent.putExtra(Intent.EXTRA_INTENT, "$conNumber1 $contractNumber1 \n$desNumber1 $desNum1 \nTruck #: $truckNum1"  
        "\nCement/Type1: $cemDeliveredCalc")

where cemDeliveredCalc is an object that's why it's not working.

you forgotted below line in your code. Add this line

        val cemDeliveredCalc1 = cemDeliveredCalc.text.toString()

and then pass cemDeliveredCalc1 instead of cemDeliveredCalc

shareIntent.putExtra(Intent.EXTRA_INTENT, "$conNumber1 $contractNumber1 \n$desNumber1 $desNum1 \nTruck #: $truckNum1"  
        "\nCement/Type1: $cemDeliveredCalc1")
  •  Tags:  
  • Related