-1

I try to learning kotlin. I want a make a android app. But im getting error.

i want to if i write "A" to edittext(@+id/tehlikesinifi), textview (uzmanucret) give me "40" i write "B" to edittext(@+id/tehlikesinifi), textview (uzmanucret) give me "20" i write "C" to edittext(@+id/tehlikesinifi), textview (uzmanucret)give me "10"


import abdullah.aydin.aykanosgb.databinding.ActivityFiyat2Binding
import android.annotation.SuppressLint
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle



class fiyat2 : AppCompatActivity() {
   private lateinit var binding: ActivityFiyat2Binding
   @SuppressLint("SetTextI18n")
   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       binding=ActivityFiyat2Binding.inflate(layoutInflater)
       setContentView(binding.root)
       var cs= binding.calisansayisi.text.toString()
       var usaat=binding.usaatucret.text.toString()

       var ts=binding.tehlikesinifi.text.toString()
       var uzmanucret  =binding.uzmanucret.text.toString()

       binding.button.setOnClickListener {

           if (ts.equals( "A")){
               var uzmandk =40

           }else if(ts.equals("B")){
               var uzmandk  =20

           }else if(ts.equals("C")){
               var uzmandk =10
           }
           var uzmandk: String=""
           var sonuc: String
           sonuc= uzmandk
           var sonuc1 = sonuc
           binding.uzmanucret.text= "$sonuc"


       }


   }

}
Aydin
  • 1

1 Answers1

0
  • You have many redundant variables which make your code messy
  • ts is set only once in onCreate and never get updated. To get the latest value you typed in the EditText, you should get it within the onClickListener
  • Kotlin control flow expression can return a value. It is more suitable to use when in your case
  • You don't need to call equals to compare string in Kotlin.

    binding.button.setOnClickListener {
        binding.uzmanucret.text = when(binding.tehlikesinifi.text.toString()){
            "A" -> "40"
            "B" -> "20"
            "C" -> "10"
            else -> null
        }
    }
Ricky Mo
  • 6,285
  • 1
  • 14
  • 30