Hallo zusammen,
brauche mal wieder Hilfe :/
Und zwar stürzt meine App ab wenn ein Feld leer ist, wegen NullPointerException.
Ich habe es mit einer if anweisung versucht aber hilft nichts.Kann mir einer sagen was ich falsch gemacht habe.
brauche mal wieder Hilfe :/
Und zwar stürzt meine App ab wenn ein Feld leer ist, wegen NullPointerException.
Ich habe es mit einer if anweisung versucht aber hilft nichts.Kann mir einer sagen was ich falsch gemacht habe.
Java:
public class Ladungssicherung extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
private EditText gewichtinput;
private EditText winkelinput;
private String text;
private double k = 1.5;
private int cZ = 1; // beschleunigungsbeiwert nach unten
private double cX = 0.8; // beschleunigungsbeiwert nach vorne
Dialog epicDialog;
TextView unicode, ergebnissFeld;
ImageView muinfoButton, closemuButton, infoalphaButton;
@SuppressLint("StringFormatInvalid")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_ladungssicherung);
winkelinput = (EditText)findViewById(R.id.winkelInput);
ergebnissFeld= (TextView)findViewById(R.id.ergebniss);
gewichtinput = (EditText)findViewById(R.id.gewichtInput);
SharedPreferences sharedPreferences = getSharedPreferences("sharedPrefs", MODE_PRIVATE);
text = sharedPreferences.getString("text", "");
winkelinput.setText(text);
sharedPreferences.edit().remove("text").commit();
epicDialog = new Dialog(this, android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen);
muinfoButton = (ImageView) findViewById(R.id.infomuIcon);
closemuButton = (ImageView)findViewById(R.id.closemuinfo);
infoalphaButton = (ImageView)findViewById(R.id.infoalpha);
muinfoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showmuinfo();
}
});
infoalphaButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showalphawinkel();
}
});
//Spinner code
Spinner spinner = findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.numbers, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void showalphawinkel(){
Intent intent = new Intent(this, WinkelmessActivity.class);
startActivity(intent);
}
public void showmuinfo(){
epicDialog.setContentView(R.layout.muinfo);
closemuButton = (ImageView) epicDialog.findViewById(R.id.closemuinfo);
closemuButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
epicDialog.dismiss();
}
});
epicDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
epicDialog.show();
}
@Override
public void onItemSelected (AdapterView < ? > parent, View view,int position, long id){
}
@Override
public void onNothingSelected (AdapterView < ? > parent){
}
public void ergebnissFromel(View v){
EditText feld1 = (EditText) findViewById(R.id.gewichtInput);
EditText feld2 = (EditText) findViewById(R.id.winkelInput);
EditText feld3 = (EditText) findViewById(R.id.stfInput);
Spinner feld4 = (Spinner) findViewById(R.id.spinner1);
Integer zahl1 = Integer.parseInt(feld1.getText().toString());
Integer zahl2 = Integer.parseInt(feld2.getText().toString());
Integer zahl3 = Integer.parseInt(feld3.getText().toString());
String spinner = feld4.getSelectedItem().toString();
if(feld1.equals("") ){
Toast.makeText(this, "Bitte geben Sie den Winkel an", Toast.LENGTH_SHORT).show();
}
if(feld2.equals("")){
Toast.makeText(this, "Bitte geben Sie das Gewicht an", Toast.LENGTH_SHORT).show();
}
if(feld3.equals("")){
Toast.makeText(this, "Bitte geben Sie den STF an", Toast.LENGTH_SHORT).show();
}
// Grad wird in sinus alpha umgerechnet
double newsinus = Math.sin(Math.toRadians(Float.valueOf(zahl2)));
double wert1 = cX-Float.valueOf(spinner)*cZ;
double wert2 = Float.valueOf(spinner)*newsinus;
// Formel Niederzurren Algorithmus
double wert3 = wert1*zahl1;
double wert4 = wert2*k;
double wert5 = wert3/wert4;
double wert6 = Math.round(wert5);
double wert7 = wert6/zahl3;
double wert8 = Math.ceil(wert7);
ergebnissFeld.setText(String.valueOf(Math.round(wert8)));
}
}