Я изучаю андроид и сейчас занимаюсь калькулятором. Я уже сделал часть xml, где я поместил кнопки И я пытаюсь закончить файл Java, который является кодом, который заставляет калькулятор работать

НО в файле Java у меня есть эта ошибка: Ошибка: (22, 64) ошибка: не удается найти класс символов OnClickListener

И я не знаю, что делать: c Я все еще учусь, я видел, что нужно поставить

    public class MainActivity extends ActionBarActivity implements View.OnClickListener {

Но я не понимаю, что это, и не знаю, приведет ли это к ошибке в калькуляторе.

Это файл Java (MainActivity)

package com.example.glow.pruebas;

import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.TextView;


public class MainActivity extends ActionBarActivity implements OnClickListener {

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

        Button n0 = (Button) findViewById(R.id.B0);
        n0.setOnClickListener(this);
        Button n1 = (Button) findViewById(R.id.B1);
        n1.setOnClickListener(this);
        Button n2 = (Button) findViewById(R.id.B2);
        n2.setOnClickListener(this);
        Button n3 = (Button) findViewById(R.id.B3);
        n3.setOnClickListener(this);
        Button n4 = (Button) findViewById(R.id.B4);
        n4.setOnClickListener(this);
        Button n5 = (Button) findViewById(R.id.B5);
        n5.setOnClickListener(this);
        Button n6 = (Button) findViewById(R.id.B6);
        n6.setOnClickListener(this);
        Button n7 = (Button) findViewById(R.id.B7);
        n7.setOnClickListener(this);
        Button n8 = (Button) findViewById(R.id.B8);
        n8.setOnClickListener(this);
        Button n9 = (Button) findViewById(R.id.B9);
        n9.setOnClickListener(this);

        Button coma = (Button) findViewById(R.id.Bcoma);
        coma.setOnClickListener(this);
        Button igual = (Button) findViewById(R.id.Bigual);
        igual.setOnClickListener(this);

        Button suma = (Button) findViewById(R.id.B6sumar);
        suma.setOnClickListener(this);
        Button resta = (Button) findViewById(R.id.B5restar);
        resta.setOnClickListener(this);
        Button mul = (Button) findViewById(R.id.Bmult);
        mul.setOnClickListener(this);
        Button division = (Button) findViewById(R.id.Bdividir);
        division.setOnClickListener(this);
        Button raiz = (Button) findViewById(R.id.raiz);
        raiz.setOnClickListener(this);
        Button elevado = (Button) findViewById(R.id.BElevado);
        elevado.setOnClickListener(this);

        Button DEL = (Button) findViewById(R.id.BDEL);
        DEL.setOnClickListener(this);
        Button AC = (Button) findViewById(R.id.BAC);
        AC.setOnClickListener(this);

        Button sin = (Button) findViewById(R.id.Bsin);
        sin.setOnClickListener(this);
        Button cos = (Button) findViewById(R.id.Bcos);
        cos.setOnClickListener(this);
        Button tan = (Button) findViewById(R.id.Btan);
        tan.setOnClickListener(this);

        Button secreto = (Button) findViewById(R.id.Bsecreto);
        secreto.setOnClickListener(this);

    }
    @Override
    public void onClick(View v) {
        TextView pantalla = (TextView) findViewById(R.id.texto);
        int seleccion = v.getId();

        try {
            switch (seleccion) {
                case R.id.B0:
                    pantalla.setText("0");
                    break;
                case R.id.B1:
                    pantalla.setText("1");
                    break;
                case R.id.B2:
                    pantalla.setText("2");
                    break;
                case R.id.B3:
                    pantalla.setText("3");
                    break;
                case R.id.B4:
                    pantalla.setText("4");
                    break;
                case R.id.B5:
                    pantalla.setText("5");
                    break;
                case R.id.B6:
                    pantalla.setText("6");
                    break;
                case R.id.B7:
                    pantalla.setText("7");
                    break;
                case R.id.B8:
                    pantalla.setText("8");
                    break;
                case R.id.B9:
                    pantalla.setText("9");
                    break;

                case R.id.Bcoma:
                    pantalla.setText(",");
                    break;

                case R.id.Bmult:
                    break;
                case R.id.B5restar:
                    break;
                case R.id.B6sumar:
                    break;
                case R.id.Bdividir:
                    break;
                case R.id.BAC:
                    break;

                case R.id.Bsin:
                    break;
                case R.id.Bcos:
                    break;
                case R.id.Btan:
                    break;
            }

        }catch(Exception e){
            pantalla.setText("error");
        };

    }
}
0
Mario 1 Май 2016 в 10:44

4 ответа

Лучший ответ

Глупая ошибка.

Измените свой агрегат с OnClickListener на View.OnClickListener.

Поскольку вы сказали, что не знаете, что он делает:

http://developer.android.com/reference/android/view/View.OnClickListener.html

Вы в основном пытаетесь реализовать интерфейс , чтобы получить доступ к его методу onClick(View v), в котором вы передаете View в аргументе.

1
Keshav 1 Май 2016 в 08:00

Реализовать View.onClickListener вместо OnClickListener

0
Mrugesh Thaker 1 Май 2016 в 08:34

Как вы сказали, вам нужно добавить

public class MainActivity extends ActionBarActivity implements View.OnClickListener {

Итак, ваша проблема здесь: public class MainActivity extends ActionBarActivity implements OnClickListener.

Измените эту строку на public class MainActivity extends ActionBarActivity implements View.OnClickListener

Вам не хватает View .OnClickListener и вы используете только OnClickListener Это решит вашу проблему;)

0
Asama 1 Май 2016 в 08:14

Ваша ошибка заключается в том, что вы реализовали DialogInterface.onClickListener , он не работает как простой прослушиватель кликов, но в вашем случае вам необходимо реализовать View.onClickListener

Ваш DialogInterface.onClickListener работает только с диалогом, а не с ВИДОМ и вы работаете над объектом просмотра, вот почему.

0
Sagar Chavada 1 Май 2016 в 08:03