从 Spinner 下拉列表中添加项目
Adding item from Spinner dropdown
我想要一个 Spinner
下拉列表,其末尾包含一个元素,允许我添加新项目。
有什么想法可以实现这样的构造吗?
因为看起来 "gold" 社区很自豪能帮助我,所以我尝试了一些想法,看起来这个可能相当不错。
我已经创建了自定义 ArrayAdapter
。它的作用是在 List
的末尾添加额外的伪造元素,以作为 NewItemBtn
.
代码
适配器
public class AddingSpinnerAdapter extends ArrayAdapter<String> {
public AddingSpinnerAdapter(Context context, int resource, List<String> objects) {
super(context, resource, objects);
addStaticElementToList(objects);
}
private void addStaticElementToList(List<String> objects) {
objects.add("Add new objectt");
notifyDataSetChanged();
}
}
旋转器
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
int itemCount = parent.getAdapter().getCount() - 1;
if (itemCount == position) {
//bogus element chosen
} else {
//select element
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
我想要一个 Spinner
下拉列表,其末尾包含一个元素,允许我添加新项目。
有什么想法可以实现这样的构造吗?
因为看起来 "gold" 社区很自豪能帮助我,所以我尝试了一些想法,看起来这个可能相当不错。
我已经创建了自定义 ArrayAdapter
。它的作用是在 List
的末尾添加额外的伪造元素,以作为 NewItemBtn
.
代码
适配器
public class AddingSpinnerAdapter extends ArrayAdapter<String> {
public AddingSpinnerAdapter(Context context, int resource, List<String> objects) {
super(context, resource, objects);
addStaticElementToList(objects);
}
private void addStaticElementToList(List<String> objects) {
objects.add("Add new objectt");
notifyDataSetChanged();
}
}
旋转器
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
int itemCount = parent.getAdapter().getCount() - 1;
if (itemCount == position) {
//bogus element chosen
} else {
//select element
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});