Нужна помощь в Android с Kotlin - PullRequest
0 голосов
/ 05 ноября 2018

SignupActivity.kt

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.EditText
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_signup.*

class SignupActivity:AppCompatActivity(){

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_signup)


    val signname =findViewById<EditText>(R.id.signNameTxt)
    val s=signname!!.text.toString()

    fun validate(){
        if(s.isNotEmpty()){
            Toast.makeText(this,"Working :)",Toast.LENGTH_SHORT).show()
        }
        else{
            Toast.makeText(this,"Not Working :(",Toast.LENGTH_SHORT).show()
        }
    }
    signNxtBtn.setOnClickListener{
       validate()
    }
}
public override fun onDestroy() {
    super.onDestroy()
}
}

Это простой код для регистрации действий, чтобы проверить, является ли поле пустым или нет для дальнейшей обработки

if(s.isNotEmpty()){
            Toast.makeText(this,"Working :)",Toast.LENGTH_SHORT).show()
        }

        else{
            Toast.makeText(this,"Not Working :(",Toast.LENGTH_SHORT).show()
        }

В этой части кода, независимо от того, введу ли я какое-либо значение в текстовое поле, приложение возвращает остальную часть.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

**

Используйте свой код следующим образом.

**

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val s = tvDisplay.text.toString()

        btnOk.setOnClickListener {
            validate(s)
        }
    }

    private fun validate(s:String) {

        if(s.isNotEmpty()){
            Toast.makeText(this,"Working :)",Toast.LENGTH_SHORT).show()
        }
        else{
            Toast.makeText(this,"Not Working :(",Toast.LENGTH_SHORT).show()
        }
    } }
0 голосов
/ 05 ноября 2018

Вы читаете значение edittext слишком рано. Переместить

val s=signname!!.text.toString()

внутри вашей функции validate().

...