Я столкнулся с проблемой получения значения от Spinners для хранения в переменной String и получения значения null.Я создал глобальную переменную, чтобы получить доступ к их значению во внешней функции -
Вот мой код -
package com.shaikhsakib.mycustomspinner;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
String[] countryNames={"INR","CNY","AUD","EUR","USD","NZD"};
int flags[] = {R.drawable.india, R.drawable.china, R.drawable.australia, R.drawable.portugel, R.drawable.new_zealand};
private String from, to = "";
private Spinner spin, spin2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Getting the instance of Spinner and applying OnItemSelectedListener on it
spin = (Spinner) findViewById(R.id.fromSpinner);
TextView from = (TextView) findViewById(R.id.fromLabel);
spin2 = (Spinner) findViewById(R.id.toSpinner);
TextView to = (TextView) findViewById(R.id.toLabel);
Button btn = (Button) findViewById(R.id.button);
spin.setOnItemSelectedListener(this);
spin2.setOnItemSelectedListener(this);
CustomAdapter customAdapter=new CustomAdapter(getApplicationContext(),flags,countryNames);
spin.setAdapter(customAdapter);
spin2.setAdapter(customAdapter);
}
public void convert(View view) {
spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
from = parent.getItemAtPosition(1).toString();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
spin2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
from = parent.getItemAtPosition(1).toString();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
TextView result = (TextView) findViewById(R.id.result);
result.setText("From value: " + from );
}
//Performing action onItemSelected and onNothing selected
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//gendervalue = parent.getItemAtPosition(position).toString();
// Object item = parent.getItemAtPosition(position);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
Я создал глобальные переменные, из которых получают назначенный элемент выбранные значения счетчика какСтрока, но все еще получает "От значения: ноль".