Android – Как получить выбранное значение элемента из счетчика и поместить его в строку?

Я читал много похожих вопросов по этой теме, но никто из них не помогает мне … Это мой код:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Spinner spinner = (Spinner) findViewById(R.id.imc_spinner); // Create an ArrayAdapter using the string array and a default spinner layout ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.imc_array, android.R.layout.simple_spinner_item); // Specify the layout to use when the list of choices appears adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // Apply the adapter to the spinner spinner.setAdapter(adapter); } public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { // An item was selected. You can retrieve the selected item using imc_met = parent.getItemAtPosition(pos).toString(); } 

Я объявляю imc_met как public String imc_met; , Проблема заключается в том, что imc_met не содержит значение выбранного элемента счетчика, но оно равно null …

Где проблема?

Thx заранее.

Solutions Collecting From Web of "Android – Как получить выбранное значение элемента из счетчика и поместить его в строку?"

Использование:

. Imc_met = Spinner.getSelectedItem () ToString ();

Вместо:

Imc_met = parent.getItemAtPosition (pos) .toString ();

Обновлено:

Кажется, вы назначаете прослушиватель на свой счетчик неправильно, сделайте следующее:

 spin.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { String imc_met=spin.getSelectedItem().toString(); } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); 

Попробуй это:

 imc_met=Spinner.getSelectedItem().toString(); 

Прости. Я забыл

 spinner.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { imc_met=Spinner.getSelectedItem().toString(); } } 

является

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

не

 imc_met=Spinner.getSelectedItem().toString(); 
 int position = Arrays.asList(getResources().getStringArray(R.array.country_value_array)).indexOf(address.getCountry()); 

Это значение получит индекс.

Если spinner не определяется в методе onCreate (), тогда необходимо использовать это:

 String spinner_value = ((Spinner)findViewById(R.id.spinner1)).getSelectedItem().toString(); 

Попробуйте этот код в onCreate() :

 spinner.setOnItemSelectedListener(this);