Skip to content Skip to sidebar Skip to footer

Spinner: Getitematposition(position) Is Returning Always Null/empty

I wanted to display selected item in the textView when selected from dropdown list of spinner I implemented AdapterView.OnItemSelectedListener but when I'm selecting item its alway

Solution 1:

SO answer source: https://stackoverflow.com/a/49301966/5461982

I know this is an older question now but if anyone else comes across it be sure to check that your custom implementation of the Adapter you're setting for your Spinner overrides the getItem method:

@OverridepublicObjectgetItem(int position) {
    return spinnerItems.get(position);
}

By default, you're required to override this method when implementing a custom BaseAdapter but the default return type is null. Be sure to modify the return type to return spinnerItems.get(position).

Hope this helps, I spent around 30 mins trying to work this out originally!

Solution 2:

Try this,

Stringselected_item= spinner.getSelectedItem().toString();

Solution 3:

Just retrieve value from String Array:

@OverridepublicvoidonItemSelected(AdapterView<?> parent, View view, int position, long id) {
    finalStringitem= Languages[position];
    Toast.makeText(MainActivity.this, item, Toast.LENGTH_SHORT).show();
}

Solution 4:

try this

spinner.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener() {
        @OverridepublicvoidonItemSelected(AdapterView<?> parent, View view, int position, long id) {
            sSelectedItem = arr_spiner.get(spinner.getSelectedItemPosition())
                    .getName();
            txtSpinnerValue.setText(sSelectedItem);
        }
        @OverridepublicvoidonNothingSelected(AdapterView<?> parent) {
        }
    });

https://stackoverflow.com/questions/45159011/spinner-item-is-not-visible-data-is-coming-from-server-android/45161202#45161202

Solution 5:

Try This

@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    spinner = (Spinner) findViewById(R.id.spinner);
    spinner.setAdapter(newCustomAdapter(MainActivity.this, Languages));

    btn.setOnClickListener(this);
    spinner.setOnItemSelectedListener(this);

}

@OverridepublicvoidonItemSelected(AdapterView<?> parent, 
                        View view, int position, long id) {

    //item = (String)parent.getItemAtPosition(position);
      item = (String) spinner.getSelectedItem().toString(); //Here is the Change

        Toast.makeText(MainActivity.this, item.toString(),
                Toast.LENGTH_SHORT).show();
}

@OverridepublicvoidonNothingSelected(AdapterView<?> parent) {
}

The change here is

From

item = (String)parent.getItemAtPosition(position);

TO

item = (String) spinner.getSelectedItem().toString();

Post a Comment for "Spinner: Getitematposition(position) Is Returning Always Null/empty"