I am creating a program that is supposed to
1. Get the value of a spinner, either "Fahrenheit to Celsius" or "Celsius to Fahrenheit"
2. Get the value of EditText
and convert it into an integer
3. Multiply that integer by 100
4. Set TextView
text as that integer.
The problem is that I'm getting java.lang.NumberFormatException
.
Here is my code:
package org.infinitech.degreescalculator.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity{
public Spinner spinner;
public String selectedItem;
public EditText input;
public Button button;
public String inputValue=findViewById(R.id.input).toString();
public Integer num=Integer.parseInt(inputValue);
public String num2;
public TextView answer;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner=(Spinner)findViewById(R.id.options);
selectedItem=(String)spinner.getSelectedItem();
input=(EditText)findViewById(R.id.input);
button=(Button)findViewById(R.id.button);
answer=(TextView)findViewById(R.id.answer);
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
if(selectedItem.equals("Fahrenheit to Celsius")){
num=num*100;
num2=num.toString();
answer.setText(num2);
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
return super.onOptionsItemSelected(item);
}
}
Here is my logcat:
Caused by: java.lang.NumberFormatException: Invalid int: ""
I fixed it! Here is my new modified code:
package org.infinitech.degreescalculator.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity{
public Spinner spinner;
public String selectedItem;
public EditText input;
public Integer num;
public Button button;
public TextView answer;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner=(Spinner)findViewById(R.id.options);
selectedItem=(String)spinner.getSelectedItem();
input=(EditText)findViewById(R.id.input);
button=(Button)findViewById(R.id.button);
answer=(TextView)findViewById(R.id.answer);
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
if(selectedItem.equals("Fahrenheit to Celsius")){
num=Integer.parseInt(input.getText().toString())*100;
answer.setText(num.toString());
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
return super.onOptionsItemSelected(item);
}
}