Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid Spinner OnItemSelect doesnt work
    primarykey
    data
    text
    <p>I have three different Spinner objects (two of them have a custom layout, one - <code>spMode</code> - is standard). </p> <p>When the OkayButton is pressed, a Toast should be displayed with 3 Numbers: the SpinnerItemNumber of Mode, Color1 and Color2. But Mode is 0 each time the button is pressed. The others work fine. Just Mode is showing that item 0 is selected even if I select Item 2 or 3 in the App.</p> <p>Here is the relevant code; any ideas why?</p> <pre><code>public class NewTimer extends Activity implements OnItemSelectedListener,OnClickListener { Button btnOkay; EditText etTime; int mode, minutes, color1, color2; String[] strings = {"","", "", "", "", ""}; int arr_images[] = { R.drawable.yellow, R.drawable.orange, R.drawable.red, R.drawable.blue, R.drawable.green, R.drawable.white}; public void onClick(View v) { if (v == btnOkay) { Toast.makeText(v.getContext(), Integer.toString(mode) + Integer.toString(color1) + Integer.toString(color2), Toast.LENGTH_SHORT).show(); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.newtimer); Spinner spColor1 = (Spinner)findViewById(R.id.spColor1); spColor1.setAdapter(new MyAdapter(NewTimer.this, R.layout.row, strings)); spColor1.setOnItemSelectedListener(this); Spinner spColor2 = (Spinner)findViewById(R.id.spColor2); spColor2.setAdapter(new MyAdapter(NewTimer.this, R.layout.row, strings)); spColor2.setOnItemSelectedListener(this); etTime = (EditText) findViewById(R.id.etTime); btnOkay = (Button) findViewById(R.id.btnOkay); btnOkay.setOnClickListener(this); Spinner spMode = (Spinner) findViewById(R.id.spMode); ArrayAdapter&lt;CharSequence&gt; adapter = ArrayAdapter.createFromResource(this, R.array.spMode_items, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spMode.setAdapter(adapter); } public void onItemSelected(AdapterView&lt;?&gt; parent, View v, int pos, long id) { switch (parent.getId()) { case R.id.spMode: mode = pos; break; case R.id.spColor1: color1 = pos; break; case R.id.spColor2: color2 = pos; break; } } public void onNothingSelected(AdapterView&lt;?&gt; parent) { } public class MyAdapter extends ArrayAdapter { public MyAdapter(Context context, int textViewResourceId, String[] objects) { super(context, textViewResourceId, objects); } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { return getCustomView(position, convertView, parent); } @Override public View getView(int position, View convertView, ViewGroup parent) { return getCustomView(position, convertView, parent); } public View getCustomView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater=getLayoutInflater();View row=inflater.inflate(R.layout.row, parent, false); TextView label=(TextView)row.findViewById(R.id.color); label.setText(strings[position]); ImageView icon=(ImageView)row.findViewById(R.id.image); icon.setImageResource(arr_images[position]); return row; } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload