【发布时间】:2015-08-18 17:43:43
【问题描述】:
我是使用 android studio 编程的新手。我有一个应用程序,但是当我想启动它时它停止了。起初我只有一个 Button 和一个 onclicklistener,一切正常。由于我有第二个带有 onlicklistener 的按钮,因此该应用程序不幸停止了。我的代码有什么问题?感谢您的帮助。
主要活动:
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;
}
};
}
【问题讨论】:
-
发布您的 logcat 或错误消息
-
在这里发布 logcat 非常有用。
-
berechnenbutton.setOnClickListener((OnClickListener) this); -> 而不是这个让你的活动实现 View.OnClickListerner 和 berechnenbutton.setOnClickListener(this)
-
只是小费。始终在您的应用中扩展 AppCompatActivity。 ActionBarActivity 已弃用。
标签: java android android-studio onclicklistener