Reputation: 55
Class Construction
protected Spinner tipSpinner;
private ArrayAdapter<CharSequence> adapterTip;
Within onCreate after setContentView(R.layout.main);
Spinner spinner= (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapterTip = ArrayAdapter.createFromResource(this, R.array.tipArray, android.R.layout.simple_spinner_item);
adapterTip.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapterTip);
spinner.setSelection(14, true);
spinner.setOnItemSelectedListener(new tipSelectorListener());
Spinner Listener
public class tipSelectorListener implements OnItemSelectedListener{
public void onItemSelected(AdapterView<?> parent,View view, int pos, long id) {
Toast.makeText(parent.getContext(), "TEST " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent){
//Do Nothing
}
}
EditText Input - On key change call calculate, change value of spinner
billAmount = (EditText)findViewById(R.id.textLblBillAmount);
EditText billAmount = (EditText) findViewById(R.id.textLblBillAmount);
billAmount.setOnKeyListener(new EditText.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on key press
recalculate();
//Spinner tipSpinner.setSelection(0, true);
Toast toast = Toast.makeText(getBaseContext(), "TEST", Toast.LENGTH_SHORT);
toast.show();
return true;
}
return false;
}
});
Calculate method
public void recalculate(){
// Recalculate Values of all
tipSpinner.setSelection(0, true);
}
Error Null Pointer when EditText Changed, think this has c
Upvotes: 1
Views: 1144
Reputation: 1068
You didn't initialized your tipSpinner variable.
Change this code:
Spinner spinner= (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapterTip = ArrayAdapter.createFromResource(this,
R.array.tipArray, android.R.layout.simple_spinner_item);
adapterTip.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapterTip);
spinner.setSelection(14, true);
spinner.setOnItemSelectedListener(new tipSelectorListener());
To this one:
tipSpinner= (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapterTip = ArrayAdapter.createFromResource(this,
R.array.tipArray, android.R.layout.simple_spinner_item);
adapterTip.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
tipSpinner.setAdapter(adapterTip);
tipSpinner.setSelection(14, true);
tipSpinner.setOnItemSelectedListener(new tipSelectorListener());
Upvotes: 3