Android : Java Spinner Calculator not working

on Tuesday, February 17, 2015


I have created two spinners; a meal type spinner (e.g. Breakfast) and a food spinner (e.g. Toast). Once a food type is selected in the spinner, the user enters a number in an EditText, and a calculation will be done to calculate the total calories (PSEUDO: CALORIES * WEIGHT ENTERED). However my calculator doesn't seem to be doing anything and I'm not sure why as I am getting no errors.


public class MainActivity3 extends ActionBarActivity {



private List<Food> planlist =new ArrayList <Food>();
private ArrayAdapter<Food> planAdapter1;

private planOnClickListener myClickListener = new planOnClickListener();

public Spinner catspinner, planspinner;

protected void onCreate(Bundle mbfSplash) {
super.onCreate(mbfSplash);
setContentView(R.layout.addmeal);

chooseCategory();
chooseBreakfast();
chooseLunch();
chooseDinner();
chooseSnack();
}

public void chooseCategory() {

catspinner =(Spinner) findViewById(R.id.catspinner);
ArrayAdapter<CharSequence> catAdapter = ArrayAdapter.createFromResource(this, R.array.ducategory, android.R.layout.simple_spinner_item);
catAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
catspinner.setAdapter(catAdapter);
catspinner.setOnItemSelectedListener(new planOnClickListener());
}

private void chooseBreakfast() {
planspinner =(Spinner) findViewById(R.id.planspinner);
planlist.clear();
planlist.add(new Food("Porridge-35g/140cal",4));
planlist.add(new Food("Coffee-10g/10cal",1));
planlist.add(new Food("Toast-30g/90cal",3));
planAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
planspinner.setAdapter(planAdapter1);
}

private void chooseLunch() {
planspinner =(Spinner) findViewById(R.id.planspinner);
//List<Food> planlist1 =3D new ArrayList<Food>();
planlist.clear();
planlist.add(new Food("Salad-50g/150cal",3));
planlist.add(new Food("Sandwich-50g/200cal",3));

planAdapter1 = new ArrayAdapter<Food>(this,android.R.layout.simple_spinner_item, planlist);
planAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
planspinner.setAdapter(planAdapter1);
}

private void chooseDinner() {
planspinner = (Spinner) findViewById(R.id.planspinner);
planlist.clear();
planlist.add(new Food("Curry-100g/400cal",4));
planlist.add(new Food("Pasta-40g/160cal",4));
planlist.add(new Food("Pizza-100g/200cal",2));

planAdapter1 =new ArrayAdapter<Food>(this,android.R.layout.simple_spinner_item, planlist);
planAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
planspinner.setAdapter(planAdapter1);
}

private void chooseSnack() {
planspinner =(Spinner) findViewById(R.id.planspinner);
planlist.clear();
planlist.add(new Food("Crisps-30g/60cal",2));
planlist.add(new Food("Chocolate-100g/200cal",2));

planAdapter1 = new ArrayAdapter<Food>(this,android.R.layout.simple_spinner_item, planlist);
planAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
planspinner.setAdapter(planAdapter1);
}


public class planOnClickListener implements OnItemSelectedListener, View.OnClickListener {

@Override
public void onItemSelected(AdapterView<?> parent, View v, int pos,long id) {

parent.getItemAtPosition(pos);
if (pos == 0) {
chooseBreakfast();
} else if (pos == 1) {
chooseLunch();
} else if (pos == 2) {
chooseDinner();
} else if (pos == 3) {
chooseSnack();
}

}

public void onClick(View v) {
Spinner spr = (Spinner) findViewById(R.id.planspinner);
EditText editText6 =(EditText) findViewById(R.id.editText6);
TextView textView8 =(TextView) findViewById(R.id.textView8);

String selectedItem =(String) spr.getSelectedItem();
int intItemPosition =spr.getSelectedItemPosition();

if (selectedItem.trim().equals("*")){
float result = Float.parseFloat(editText6.getText().toString()) * Float.parseFloat(Integer.toString(planlist.get(intItemPosition).getCalories()));
textView8.setText(Float.toString(result));
}

Button button4 = (Button)findViewById(R.id.button4);
button4.setOnClickListener(myClickListener);
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}

}


}


0 comments:

Post a Comment