@amirgo3000

В чем ошибка? Почему не запускается приложение на Android studio?

Подскажите, почему не запускается приложение? (есть ли тут вообще ошибка)
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".Main">

    <EditText
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:id="@+id/etNum1"
            android:layout_width="196dp"
            android:inputType="numberDecimal" android:layout_marginTop="8dp"
            app:layout_constraintTop_toTopOf="parent" android:layout_marginStart="5dp"
            app:layout_constraintStart_toStartOf="parent"
            android:importantForAutofill="no"
            tools:ignore="LabelFor">

    </EditText>
    <EditText
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:id="@+id/etNum2"
            android:layout_width="174dp"
            android:inputType="numberDecimal"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginEnd="5dp" android:layout_marginTop="8dp" app:layout_constraintTop_toTopOf="parent"
            android:autofillHints="" tools:ignore="LabelFor">

    </EditText>
    <Button
            android:text="@string/result"
            android:layout_width="129dp"
            android:layout_height="44dp"
            android:id="@+id/btnDiv"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginEnd="8dp"
            app:layout_constraintStart_toStartOf="parent"
            android:layout_marginStart="8dp"
            android:layout_marginTop="64dp"
            app:layout_constraintTop_toTopOf="parent" >

    </Button>

    <TextView
            android:text="@string/Ответ"
            android:layout_width="273dp"
            android:layout_height="35dp"
            android:id="@+id/tvResult"
            android:layout_marginTop="128dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginEnd="8dp"
            app:layout_constraintStart_toStartOf="parent"
            android:layout_marginStart="8dp" app:layout_constraintHorizontal_bias="0.505" tools:text="Ответ">

    </TextView>


</android.support.constraint.ConstraintLayout>


package com.example.coolyet.zerde

import android.annotation.SuppressLint
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.text.TextUtils
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView

abstract class Main : AppCompatActivity(), View.OnClickListener {

internal lateinit var etNum1: EditText
internal lateinit var etNum2: EditText

internal lateinit var btnDiv: Button

internal abstract var tvResult: TextView

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

// находим элементы
this.etNum1 = this.findViewById(R.id.etNum1)
this.etNum2 = findViewById(R.id.etNum2)

this.btnDiv = findViewById(R.id.btnDiv)

this.tvResult = findViewById(R.id.tvResult)

// прописываем обработчик
btnDiv.setOnClickListener(this)

}

@SuppressLint("SetTextI18n")
override fun onClick(v: View) {
val num1: Number
val num2: Number
var result = 0f

// Проверяем поля на пустоту
if (TextUtils.isEmpty(etNum1.text.toString()) || TextUtils.isEmpty(etNum2.text.toString())) {
return
}

// читаем EditText и заполняем переменные числами
num1 = java.lang.Float.parseFloat(etNum1.text.toString())
num2 = java.lang.Float.parseFloat(etNum2.text.toString())

// определяем нажатую кнопку и выполняем соответствующую операцию
// в oper пишем операцию, потом будем использовать в выводе
when (v.id) {

R.id.btnDiv -> {

result = 4 / 100 * num1 / num2
}
else -> {
}
}

// формируем строку вывода
tvResult.text = num1.toString() + result
}

}
  • Вопрос задан
  • 525 просмотров
Пригласить эксперта
Ответы на вопрос 1
bask
@bask
А почему класс абстрактный?
Изучите ООП.
В манифесте активити прописано?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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