Мой калькулятор простых интересов рушится с ошибкой исключения нулевого указателя, не уверен, в чем проблема, нет ошибок в IDE до того, как я усложню, это новое для меня. Вот мой код и LogCat: редактировать: Icouldn't разместить LogCat как редактор считает, что это код, и я не могу получить его в формат правильно Код:Сбой ошибки с ошибкой нулевого указателя
package com.codeherenow.sicalculator;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.SeekBar;
public class SICalculatorActivity extends Activity
implements SeekBar.OnSeekBarChangeListener, View.OnClickListener{
private int years;
private TextView YT;
private SeekBar bar;
private EditText principal = (EditText) findViewById(R.id.PA_field);
private EditText interest = (EditText) findViewById(R.id.IR_field);
public EditText pvalue;
public EditText ivalue;
private double mPvalue = 0;
private double mIvalue = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sicalculator);
bar = (SeekBar)findViewById(R.id.seekBar);
bar.setOnSeekBarChangeListener(this);
pvalue = (EditText) principal.getText();
ivalue = (EditText) interest.getText();
String s = principal.getText().toString();
mPvalue = Double.parseDouble(s);
String s2 = interest.getText().toString();
mIvalue = Double.parseDouble(s2);
}
@Override
public void onProgressChanged (SeekBar seekBar,int i, boolean b){
years = i;
YT = (TextView) findViewById(R.id.Years);
YT.setText(years + " Year(s)");
}
@Override
public void onStartTrackingTouch (SeekBar seekBar){
}
@Override
public void onStopTrackingTouch (SeekBar seekBar){
}
@Override
public void onClick(View view) {
TextView fTextView = (TextView) findViewById(R.id.finalText);
double finValue = mPvalue * (mIvalue/100) * years;
fTextView.setText("The interest for " + pvalue + "at a rate of " + ivalue + "for " + years + "year(s) is " + finValue);
}
}
Где находится ловушка? –
NullPointerException - ошибка времени выполнения, поэтому она не будет отображаться при компиляции. Можете ли вы опубликовать трассировку стека, чтобы мы могли видеть, в какой строке она произошла? – childofsoong
Я думаю, что проблема заключается в полях 'main' и' interest'. Я думаю, вам нужно вызвать 'findViewById' в' onCreate' после 'setContentView', а не там, где объявлены поля. –