如何使用下拉列表创建微调器,如下所示:
|------------|
| option1 |
|------------|
| option2 |
|------------|
| option3 |
|------------|
| create new |
|------------|
点击“option1”到“option3” - 只需点击项目即可设为微调器值 但是当我们点击“创建新”时:
更新
解决方案如下Juanjo的https://stackoverflow.com/a/28612543/1367449
通常做这项工作但有一个缺点:在用户点击| create new |
和设置spinner.setSelection(previousSelection)
之间,微调器显示“创建新”值,然后才切换到“之前的选择”。虽然这个swich持续了几分之一秒,然后它会导致'旋转闪烁效应',希望我们可以消除它。
答案 0 :(得分:0)
为微调器添加一个额外的空选项并注册一个ItemSelectedListener:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
if(position == 4) { // empty (=0), option 1, 2, 3, new (=4)
spinner.setSelection(0); // empty item
external_action();
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// Stuff to do
}
});