169 похожих чатов

Спрошу всё-таки Как тут можно улучшить код? package com.hexakosioihexekontahex.ion.authentication import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.Button import

android.widget.EditText
import android.widget.ImageView

class MainActivity : AppCompatActivity() {
var img: ImageView? = null
var btn: Button? = null
var email: EditText? = null
var pass: EditText? = null

val email_txt: String = "123@gmail.com"
val pass_txt: String = "123"


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
login()
}

fun login(){
img = findViewById(R.id.imageView2) as ImageView?
btn = findViewById(R.id.button) as Button?
email = findViewById(R.id.editText) as EditText?
pass = findViewById(R.id.editText2) as EditText?

btn!!.setOnClickListener {
when {
((email!!.text.toString()).equals(email_txt) && (pass!!.text.toString()).equals(pass_txt)) ->
img!!.setImageResource(R.drawable.unlocked)
else ->
img!!.setImageResource(R.drawable.wrong)
}
}
}
}

6 ответов

13 просмотров

Залить его на pastebin для начала 😏

байндинги по айди

Хотя бы замени все: var img: ImageView? = null на: lateinit var img: ImageView что бы глаза твои !! не мозолили

я считаю что тут 2 необходимо вещи сделать: 1. Использовать kotlin extensions 2. !! заменить на ?

Каст в, например, Button? подразумевает, что button может не быть.

стоит использовать lateinit там, где уместно

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта