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 ответов

8 просмотров

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

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

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

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

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

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

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

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

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
4
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Вот смотрите у меня есть два стрима сейчас fs, cs: TStream; fs := TFileStream.Create('filename'); cs := TCompressionStream.Create(compression_level, fs); Я хочу сделать так: ...
notme
5
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
8
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Карта сайта