Get the position of a spinner in Android

前端 未结 4 1316
醉梦人生
醉梦人生 2020-12-14 06:07

I\'m trying to get the position (number) of the spinner when selected to use it in another Activity that will display a different map each time depending on the item selecte

相关标签:
4条回答
  • 2020-12-14 06:22
    if (position ==0) {
        if (rYes.isChecked()) {
            Toast.makeText(SportActivity.this, "yes ur answer is right", Toast.LENGTH_LONG).show();
        } else if (rNo.isChecked()) {
            Toast.makeText(SportActivity.this, "no.ur answer is wrong", Toast.LENGTH_LONG).show();
        }
    }
    

    This code is supposed to select both check boxes.
    Is there a problem with it?

    0 讨论(0)
  • 2020-12-14 06:24

    The way to get the selection of the spinner is:

      spinner1.getSelectedItemPosition();
    

    Documentation reference: http://developer.android.com/reference/android/widget/AdapterView.html#getSelectedItemPosition()

    However, in your code, the one place you are referencing it is within your setOnItemSelectedListener(). It is not necessary to poll the spinner, because the onItemSelected method gets passed the position as the "position" variable.

    So you could change that line to:

    TestProjectActivity.this.number = position + 1;
    

    If that does not fix the problem, please post the error message generated when your app crashes.

    0 讨论(0)
  • 2020-12-14 06:30
        final int[] positions=new int[2]; 
        Spinner sp=findViewByID(R.id.spinner);
    
        sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO Auto-generated method stub
                Toast.makeText( arg2....);
            }
    
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
    
            }
        });
    
    0 讨论(0)
  • 2020-12-14 06:39
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            bt = findViewById(R.id.button);
            spinner = findViewById(R.id.sp_item);
            setInfo();
            spinnerAdapter = new SpinnerAdapter(this, arrayList);
            spinner.setAdapter(spinnerAdapter);
    
    
    
            spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    //first,  we have to retrieve the item position as a string
                    // then, we can change string value into integer
                    String item_position = String.valueOf(position);
    
                    int positonInt = Integer.valueOf(item_position);
    
                    Toast.makeText(MainActivity.this, "value is "+ positonInt, Toast.LENGTH_SHORT).show();
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
    
                }
            });
    
    
    
    
    
    
    
    note: the position of items is counted from 0.
    
    0 讨论(0)
提交回复
热议问题