繁体   English   中英

使用Kotlin在Android中需要帮助

[英]Need help in Android with Kotlin

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()
        }

在这部分代码中,无论我是否在文本字段内输入任何值,应用程序都将返回else部分。

您太早阅读了edittext值。 移动

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

在您的validate()函数中。

**

像这样使用您的代码。

**

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()
        }
    } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM