这让我疯了,因为这是我以前做过的事情,但是无法弄清楚为什么它现在不起作用......
我有一个菜单按钮,以通常的方式通过menu.xml文件和onOptionsItemSelected带有开关的方法实现,创建并显示微调器.
我添加了setOnItemSelectedListener,但它似乎永远不会触发.在微调的出现,我选择一个选项或背出来,既不onItemSelected或onNothingSelected调用.
这是菜单按钮处理开关语句的"case"和"return true"之间的所有代码.(topThis是一个引用活动上下文的变量 - 适用于应用程序中的所有其他toast)
String[] widgetModes = {"Mode 1", "Mode2"};
ArrayAdapter<String> widgetModeAdapter = new ArrayAdapter<String> (this, android.R.layout.simple_spinner_item, widgetModes);
widgetModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner widgetModeSpinner = new Spinner(this);
widgetModeSpinner.setAdapter(widgetModeAdapter);
widgetModeSpinner.setPrompt("Choose Widget Mode");
widgetModeSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id)
{
Toast.makeText(topThis, "derp", Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parentView)
{
Toast.makeText(topThis, "herf", Toast.LENGTH_LONG).show();
}
});
widgetModeSpinner.performClick();
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我模糊地怀疑我正在以Spinner编程方式创建的事实是问题......