每当我尝试启动它时,它都无法正常工作...... 我想制作一个计算成绩平均值的应用程序 注意意味着学校成绩。 我使用德国名字对不起。
感谢您的支持。
int NotenSchnitt = 0;
int gesamt = 0;
int aNoten = 10;
int zero =0;
EditText Note1r = (EditText) findViewById(R.id.Note1r); // get those EditText to string
String Note1 = Note1r.getText().toString();
EditText Note2r = (EditText) findViewById(R.id.Note2r);
String Note2 = Note2r.getText().toString();
EditText Note3r = (EditText) findViewById(R.id.Note3r);
String Note3 = Note3r.getText().toString();
EditText Note4r = (EditText) findViewById(R.id.Note4r);
String Note4 = Note4r.getText().toString();
EditText Note5r = (EditText) findViewById(R.id.Note5r);
String Note5 = Note5r.getText().toString();
EditText Note6r = (EditText) findViewById(R.id.Note6r);
String Note6 = Note6r.getText().toString();
EditText Note7r = (EditText) findViewById(R.id.Note7r);
String Note7 = Note7r.getText().toString();
EditText Note8r = (EditText) findViewById(R.id.Note8r);
String Note8 = Note8r.getText().toString();
EditText Note9r = (EditText) findViewById(R.id.Note9r);
String Note9 = Note9r.getText().toString();
EditText Note10r = (EditText) findViewById(R.id.Note10r);
String Note10 = Note10r.getText().toString();
TextView display;
Button bRefresh;
Button bCalculate;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bCalculate = (Button) findViewById(R.id.bCalculate);
bCalculate.setOnClickListener((OnClickListener) this);
display = (TextView) findViewById(R.id.TvDisplay);
if ("Note1".equals(Note1)) { // Compare if Note1 is equal to Note1
aNoten --; }
if ("Note2".equals(Note2)) {
aNoten --; }
if ("Note3".equals(Note3)) {
aNoten --; }
if ("Note4".equals(Note4)) {
aNoten --; }
if ("Note5".equals(Note5)) {
aNoten --; }
if ("Note6".equals(Note6)) {
aNoten --; }
if ("Note7".equals(Note7)) {
aNoten --; }
if ("Note8".equals(Note8)) {
aNoten --; }
if ("Note9".equals(Note9)) {
aNoten --; }
if ("Note10".equals(Note10)) {
aNoten --; }
}
}
答案 0 :(得分:2)
您在设置内容视图之前使用'findViewById()'。所以,所有Note#r
都将为空。
EditText Note1r = (EditText) findViewById(R.id.Note1r); // get those EditText to string
String Note1 = Note1r.getText().toString();
在调用onCreate()
之前,在实例化活动类时执行所有这些行。
答案 1 :(得分:2)
我认为你的问题是你应该在setContentView(R.layout.main)之后调用onCreate()中的findViewById()。
答案 2 :(得分:0)
我认为你有问题,字符串note1,note2,...都是空的..
if ("Note1".equals(Note1)) { // Compare if Note1 is equal to Note1
aNoten --; }
if ("Note2".equals(Note2)) {
所有这一部分都不应该放在oncreate中..因为oncreate的edittext字段将是空的。所以把一个按钮放一些东西..这样用户可以输入一些东西,然后检查条件..在onclick那个按钮..
答案 3 :(得分:0)
您应该在EditText
方法中初始化onCreate
。在其他地方,他们都变得空了
答案 4 :(得分:0)
您必须在setContentView()
EditText Note1r = (EditText) findViewById(R.id.Note1r); // get those EditText to string
在通知用户输入文本的事件(如按钮单击)之后,您必须使用以下所有编辑文本阅读语句。否则,您将获得 null 值。
String Note1 = Note1r.getText().toString();
但是你做错了编程。纠正这些事情。