我有一个奇怪的问题。当从微调器中选择一个项目时,我需要做一些事情。
这是我的代码:
language = (Spinner) findViewById(R.id.current_language_text);
ArrayAdapter adapter = new ArrayAdapter(this,
com.Orange.R.layout.my_spinner_textview, languages);
adapter.setDropDownViewResource(com.Orange.R.layout.multiline_spinner_dropdown_item);
language.setAdapter(adapter);
language.setSelection(Integer.valueOf(language_id) - 1);
language.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
System.out.println("position "+position);
Toast.makeText(Settings.this, "Hello Toast",Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
问题是 onItemSelectedListener
没有被调用。我将 System.out.println
放在 onItemSelected()
中,但我没有在 LogCat 中获取它。我尝试使用 Toast
,结果一样,它没有出现。每次我从微调器中选择一个项目时,在 LogCat 中我都会收到此警告:
Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@2b1dabd0
知道为什么不调用 onItemSelectedListener 吗?
最佳答案
您是否在 manifest.xml 中添加了您的 Activity
<activity android:name=".YourActivity" />
关于android - Spinner setonitemselectedlistener 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12892887/