java - 不幸的是应用程序已停止 Android Studio

标签 java android android-studio onclicklistener

我是 android studio 编程新手。我有一个应用程序,但当我想启动它时它会停止。一开始我只有一个 Button 和一个 onclicklistener,一切都工作正常。由于我有第二个带有 onlicklistener 的按钮,因此应用程序不幸停止了。我的代码有什么问题吗?感谢您的帮助。

主要 Activity :

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import de.example.einheitenumrechnergradfahrenheit.R;

public class MainActivity extends ActionBarActivity {

    Button berechnenbutton;
    Button button1;
    EditText eingabegrad;
    TextView ergebnisanzeige;
    double ergebnis;




    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        eingabegrad = (EditText) findViewById(R.id.editText1);
        ergebnisanzeige = (TextView) findViewById(R.id.textView3);
        berechnenbutton = (Button) findViewById(R.id.button);
        berechnenbutton.setOnClickListener((OnClickListener) this);
        button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);}



            public void onClick(View v) {

                switch (v.getId()) {


                    case R.id.button:
                        if (eingabegrad.length() == 0) {
                            ergebnisanzeige.setText("Keine Eingabe erfolgt");
                        } else {
                            //Formel: Grad Celsius in Fahrenheit = ((Celsius *9)/5)+32
                            ergebnis = ((Double.parseDouble(eingabegrad.getText().toString()) / 1.8) - 32);
                            ergebnisanzeige.setText(eingabegrad.getText() + "  Grad Fahrenheit sind"
                                    + " umgerechnet " + Double.toString(ergebnis) + " Grad Celsius");
                        }
                        break;


                    case R.id.button1:
                        if (eingabegrad.length() == 0) {
                            ergebnisanzeige.setText("Keine Eingabe erfolgt");
                        } else {
                            //Formel: Grad Celsius in Fahrenheit = ((Celsius *9)/5)+32
                            ergebnis = ((Double.parseDouble(eingabegrad.getText().toString()) * 1.8) + 32);
                            ergebnisanzeige.setText(eingabegrad.getText() + "  Grad Celsius sind"
                                    + " umgerechnet " + Double.toString(ergebnis) + " Grad Fahrenheit");
                        }
                        break;



                    default:
                        break;
                }

            };


        }

最佳答案

您的 Activity 应实现 OnCLickListener,并且您的 onClick 方法必须使用 @Override 进行注释。

试试这个:

public class MainActivity extends ActionBarActivity implements View.OnClickListener {

    //omitted for clarity


    @Override
    public void onClick(View v) {

        //omitted for clarity

    }

关于java - 不幸的是应用程序已停止 Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32067935/

相关文章:

java - 用于字符串获取不带空格的单词的正则表达式,但其中一部分可以包含空格

android - 存储密码

java - 使用大纲文本字段的工具栏问题

Android Studio 找不到 OpenCV header

Android Studio 0.4.3 - 在根项目中找不到任务 'assemble'

java - 弹出乘法表

java - 从 SOAP 信封中检索类对象?

java - JTable 呈现已删除的 JButton 而不是新的 JButton

java - 使用“查看寻呼机”在选项卡中未显示列表

android - 如何在android中使用多个 "Application class"?