我创建了一个下拉菜单,我重写了onItemSelected方法:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String item = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(), item, Toast.LENGTH_LONG).show();
}
使用上面的代码,如果我选择一个项目,那么它会显示带有所选项目的祝酒词。 我试着用这种方式编辑代码:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String item = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(), item, Toast.LENGTH_LONG).show();
Intent intent = new Intent(Selection.this, MainActivity.class);
startActivity(intent);
}
为什么它不允许我选择一个项目而是转到MainActivity?
答案 0 :(得分:2)
slm;根据文档:
&#34; Spinners提供了一种从集合中选择一个值的快捷方法 默认状态,微调器显示当前选定的值。触摸微调器显示 包含所有其他可用值的下拉菜单,用户可以从中选择一个新值。&#34;
因此触发列表中显示的第一项并实施
的回调是正常的it ;;您可以通过忽略第一个回调并将第一个项目显示为两个
来处理不同的职位。或在此链接中查看更多信息&#34; How to keep onItemSelected from firing off on a newly instantiated Spinner?&#34;。