You are calling toString() method on spinner to get the selection which is wrong. You need to call getSelectedItemPosition() method to get the selection.
b.setOnClickListener(new OnClickListener()
{
public void onClick(View arg0)
{
String spin=s.getSelectedItem().toString();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tv.setText(spin);
}
});
spinCountry.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView,
View selectedItemView, int position, long id) {
try {
String select_item =parentView.getItemAtPosition(position).toString();
}
catch (Exception e) {
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
}
});
You dont need shared preference to load values in spinner. You just need to declare array in string.xml file and load that.I am giving you my code.Just use it.:-
<string-array name="country_array">
<item>Greece</item>
<item>United Kingdom</item>
<item>Italy</item>
<item>France</item>
<item>Germany</item>
<item>Turkey</item>
<item>Poland</item>
<item>India</item>
</string-array>
<Spinner
android:id="@+id/spinCountry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:paddingLeft="8dp"
android:popupBackground="@android:color/white"
android:scrollbars="none"
android:spinnerMode="dropdown" />
Spinner spinCountry;
spinCountry= (Spinner) findViewById(R.id.spinCountry);//fetch the spinner from layout file
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, getResources()
.getStringArray(R.array.country_array));//setting the country_array to spinner
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinCountry.setAdapter(adapter);
//if you want to set any action you can do in this listener
spinCountry.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});