package com.example.myapplication77;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public abstract class Main extends AppCompatActivity implements View.OnAttachStateChangeListener{
private Button btnAdd, btnsub, btndivide, btnmul;
private TextView tvresult;
private EditText etfirst, etsecond;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
public void init() {
btnAdd = (Button) findViewById(R.id.btnAdd);
btndivide = (Button) findViewById(R.id.btnDivide);
btnsub = (Button) findViewById(R.id.btnSubtract);
btnmul = (Button) findViewById(R.id.btnMultiply);
etfirst = (EditText) findViewById(R.id.etFirstNumber);
etsecond = (EditText) findViewById(R.id.etSecondNumber);
tvresult = (TextView) findViewById(R.id.tvResult);
btnAdd.setOnClickListener((View.OnClickListener) this);
btnsub.setOnClickListener((View.OnClickListener) this);
btndivide.setOnClickListener((View.OnClickListener) this);
btnmul.setOnClickListener((View.OnClickListener) this);
}
public void onClick(View v) {
String num1 = etfirst.getText().toString();
String num2 = etsecond.getText().toString();
// по id определеяем кнопку, вызвавшую этот обработчик
switch (v.getId()) {
case R.id.btnAdd:
int addition = Integer.parseInt(num1) + Integer.parseInt(num2);
tvresult.setText(String.valueOf(addition));
break;
case R.id.btnSubtract:
int subtraction = Integer.parseInt(num1) - Integer.parseInt(num2);
tvresult.setText(String.valueOf(subtraction));
break;
case R.id.btnDivide:
try {
int division = Integer.parseInt(num1) / Integer.parseInt(num2);
tvresult.setText(String.valueOf(division));
} catch (Exception e) {
tvresult.setText(String.valueOf("Cannot Divide"));
break;
}
case R.id.btnMultiply:
int multiply = Integer.parseInt(num1) * Integer.parseInt(num2);
tvresult.setText(String.valueOf(multiply));
break;
} } }
ошибка
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myapplication77, PID: 5701
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.myapplication77/com.example.myapplication77.Main}: java.lang.InstantiationException: java.lang.Class<com.example.myapplication77.Main> cannot be instantiated
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2567)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.InstantiationException: java.lang.Class<com.example.myapplication77.Main> cannot be instantiated
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2557)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Уберите модификатор abstract
из объявления класса активности.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
dygraphs js фрамеворк требует csv файлВсе бы ничего если бы я не использовал фрамеворк в jsp