なぜこれが機能しないのですか?!
if(itemx == "Test number item 0")
{
Log.i("Dropdown", "inside if");
us_lo_ans_hold.setText("0x");
};
itemxが文字列であり、文字列が「テスト番号項目0」の場合。
私は最初のスピナーを作成しています。
アクティビティのonCreateブロック内のスピナーコードは次のとおりです。
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);
これがstrings.xmlのString配列です。
<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>
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");
};
}
私が入れたすべてのLog.i(、)から、itemxが正しいことがわかります。スピナー内のアイテムが選択されると、正しい文字列になります。それでもIFは機能しません。
IFをこれに変更した場合:
if(arg2 == 0)
{
Log.i("Dropdown", "inside if");
us_lo_ans_hold.setText("0x");
};
それが動作します; しかし、それは私が望むものではありません!
だから...なぜこれが機能しないのですか?!:
if(itemx == "Test number item 0")
{
Log.i("Dropdown", "inside if");
us_lo_ans_hold.setText("0x");
};
itemxが文字列であり、文字列が「テスト番号項目0」の場合。?
また、「onNothingSelected」はいつどのように呼び出されますか?戻るボタンを押すと?すでに選択されている項目を選択すると?私の「onNothingSelected」は決して呼び出されません!
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");
}
次のようなアクティビティのonCreateブロックを入れてみました:
// Spinner click listener
us_lo_spinner.setOnItemSelectedListener(this);
us_lo_spinner.onNothingSelected(this)
しかし、〜compiler〜はそのようにします。
それで...「onNothingSelected」はいつどのように呼び出され、どのようにスピナーに接続されますか?