spinner Se Strings ** == não funciona
Por que isto não está funcionando ?!
if(itemx == "Test number item 0")
{
Log.i("Dropdown", "inside if");
us_lo_ans_hold.setText("0x");
};
se itemx é uma String e tem a string 'Test number item 0'.
Eu estou criando meu primeiro spinner.
Aqui está o código do spinner dentro do bloco onCreate da Activity:
Spinner us_lo_spinner = (Spinner) findViewById(R.id.ul_ans_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.test_defaults , android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
us_lo_spinner.setAdapter(adapter);
// Spinner click listener
us_lo_spinner.setOnItemSelectedListener(this);
Aqui está a matriz String no strings.xml:
<string name="spin_title_ulover_ans">Spinner default:</string>
<string-array name="test_defaults">
<item>Test number item 0</item>
<item>Test number item 1</item>
<item>Test number item 2</item>
<item>Test number item 3</item>
<item>Test number item 4</item>
</string-array>
Aqui está o onItemSelected:
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
Log.i("XXX_Dropdown", "XXXX");
TextView us_lo_ans_hold = (TextView)findViewById(R.id.us_lo_ans_holdtest);
// On selecting a spinner item
String itemx = arg0.getSelectedItem().toString();
us_lo_ans_hold.setText("oppp12");
Log.i("Dropdown", "item: " + itemx);
Log.i("Dropdown", "arg1: " + arg1);
Log.i("Dropdown", "arg2: " + arg2);
Log.i("Dropdown", "arg3: " + arg3);
// Showing selected spinner item
if(itemx == "Test number item 0")
{
Log.i("Dropdown", "inside if");
us_lo_ans_hold.setText("0x");
};
}
De todo o Log.i (,) s que eu coloquei eu posso dizer que o itemx está correto, ele tem a string correta quando um item no controle giratório é selecionado. No entanto, o IF não funcionará.
Se eu mudar o IF para isso:
if(arg2 == 0)
{
Log.i("Dropdown", "inside if");
us_lo_ans_hold.setText("0x");
};
vai funcionar; MAS não é isso que eu quero!
Então ... por que isso não está funcionando?!:
if(itemx == "Test number item 0")
{
Log.i("Dropdown", "inside if");
us_lo_ans_hold.setText("0x");
};
se itemx é uma String e tem a string 'Test number item 0'. ?
também como ou quando "onNothingSelected" seria chamado? Quando você apertar o botão de volta? Quando você seleciona o item já selecionado? Meu 'onNothingSelected' nunca é chamado!
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
Log.i("Dropdown", "in NOTHING SELECTED");
TextView us_lo_ans_hold = (TextView)findViewById(R.id.us_lo_ans_holdtest);
us_lo_ans_hold.setText("nothing selected");
}
Tentei colocar no bloco onCreate da Activity como:
// Spinner click listener
us_lo_spinner.setOnItemSelectedListener(this);
us_lo_spinner.onNothingSelected(this)
mas o ~ compilador ~ gosta disso.
Então ... como ou quando o 'onNothingSelected' é chamado e como ele é conectado a um spinner?