не могу подключить обработчик для кнопки

Ответить
V3_I
Сообщения: 2
Зарегистрирован: 27 дек 2018, 18:00

не могу подключить обработчик для кнопки

Сообщение V3_I » 10 янв 2019, 09:39

Для подключения обработчика испробовал все три способа, но так и не смог запустить обработчик. Возможно, я что-то не так делаю или пропустил.

Коротко о программе:
пользователь вводит три числа (num1, num2, num4) и получает четвертое (num3). Вычисляется все по формуле.

Код: Выделить всё

package startandroid.ru.calculator;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity{ //implements View.OnClickListener {
    final int MENU_RESET_ID = 1;
    final int MENU_QUIT_ID = 2;

    EditText etNum1;
    EditText etNum2;
    EditText etNum4;

    Button btnExs;

    TextView tvResult;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        etNum1 = (EditText) findViewById(R.id.etNum1);
        etNum2 = (EditText) findViewById(R.id.etNum2);
        etNum4 = (EditText) findViewById(R.id.etNum4);

        btnExs = (Button) findViewById(R.id.btnExs);

        tvResult = (TextView) findViewById(R.id.tvResult);

       /* btnExs.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tvResult.setText(num3);
            }
        });*/
    }

    @Override
    public void onClick(View view) {
        double num1;
        double num2;
        double num4;
        double k1 = 0.3;
        double k2 = 0.4;

        num1 = Double.parseDouble(etNum1.getText().toString());
        num2 = Double.parseDouble(etNum2.getText().toString());
        num4 = Double.parseDouble(etNum4.getText().toString());

        double num3 = (num4 - (num1 + num2) * k1) / k2;
        tvResult.setText(num3);
    }


    public void clickButton(View view){
        double num1;
        double num2;
        double num4;
        double k1 = 0.3;
        double k2 = 0.4;


        num1 = Double.parseDouble(etNum1.getText().toString());
        num2 = Double.parseDouble(etNum2.getText().toString());
        num4 = Double.parseDouble(etNum4.getText().toString());
        double num3 = (num4-(num1+num2)*k1)/k2;
        tvResult.setText((int) num3);
    }

    //@Override
    public boolean OnCreateOptionMenu(Menu menu) {
        menu.add(0, MENU_RESET_ID, 0, "Reset");
        menu.add(0, MENU_QUIT_ID, 0, "Quit");
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case MENU_RESET_ID:
                etNum1.setText("");
                etNum2.setText("");
                etNum4.setText("");
                tvResult.setText("");
                break;
            case MENU_QUIT_ID: // выход из приложения
                finish();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}

asdvolodya10
Сообщения: 2
Зарегистрирован: 12 июл 2020, 16:28

Re: не могу подключить обработчик для кнопки

Сообщение asdvolodya10 » 12 июл 2020, 17:48

Код: Выделить всё

btnExs.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                double num1;
                double num2;
                double num4;
                double k1 = 0.3;
                double k2 = 0.4;

                num1 = Double.parseDouble(etNum1.getText().toString());
                num2 = Double.parseDouble(etNum2.getText().toString());
                num4 = Double.parseDouble(etNum4.getText().toString());

                double num3 = (num4 - (num1 + num2) * k1) / k2;
                tvResult.setText(num3);
            }
        });
А метод public void onClick(View view) и public void clickButton(View view) вообще удали

Ответить