使用SimpleCursorAdapter将添加按钮放置到android选择器
我想显示一个Android微调器,它显示来自SQLite数据库的数据 但是,用户应该能够将新项目添加到此微调器 在iPhone/iOS上,我使用ActionSheetPicker来实现这个目标。看起来是这样的:使用SimpleCursorAdapter将添加按钮放置到android选择器,android,ios,button,uiactionsheet,picker,Android,Ios,Button,Uiactionsheet,Picker,我想显示一个Android微调器,它显示来自SQLite数据库的数据 但是,用户应该能够将新项目添加到此微调器 在iPhone/iOS上,我使用ActionSheetPicker来实现这个目标。看起来是这样的: 如何使用Android实现这一点?不确定它是否适用于游标适配器,但 以下代码的作用与iOS上的UIPicker大致相同: 该代码执行以下操作: 创建/获取微调器的数据 在“活动”上使用按钮而不是微调器 创建一个AlertDialog(弹出窗口),其中显示微调器和添加按钮 添加按钮创建另一
如何使用Android实现这一点?不确定它是否适用于游标适配器,但
以下代码的作用与iOS上的UIPicker大致相同: 该代码执行以下操作:
ArrayList items=new ArrayList();
项目。添加(“一”);
项目。添加(“两”);
项目。添加(“三”);
最终ArrayAdapter适配器=新的ArrayAdapter(此,
android.R.layout.simple\u微调器\u下拉菜单\u项,项);
最终按钮selectBtn=(按钮)findViewById(R.id.buttonCountry);
选择btn.setOnClickListener(新建视图.OnClickListener(){
@凌驾
public void onClick(@SuppressWarnings(“未使用”)视图v){
新建AlertDialog.Builder(主)
.setTitle(“请选择一个国家”)
.setPositiveButton(“添加国家”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
最终编辑文本视图=新编辑文本(主);
新建AlertDialog.Builder(主)
.setTitle(“请输入名称”)
.setPositiveButton(R.string.ok,新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
add(view.getText().toString());
选择btn.setText(view.getText().toString());
}
})
.setNegativeButton(“取消”,null)
.setView(视图)
.show();
}
})
.setAdapter(适配器,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
选择btn.setText(adapter.getItem(which));
dialog.dismise();
}
}).create().show();
}
});
带有微调器和按钮的AlertDialog:
带有文本输入的AlertDialog:
你在说什么?是的,在Android中它被称为Spinner,并且有一个如何使用和填充它的示例-你期望现成的解决方案吗?例如,这是唯一的解决方案吗??
ArrayList<String> items = new ArrayList<String>();
items.add("One");
items.add("Two");
items.add("Three");
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, items);
final Button selectBtn = (Button) findViewById(R.id.buttonCountry);
selectBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(@SuppressWarnings("unused") View v) {
new AlertDialog.Builder(main)
.setTitle("Please choose a country")
.setPositiveButton("Add Country", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
final EditText view = new EditText(main);
new AlertDialog.Builder(main)
.setTitle("Please enter a name")
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
adapter.add(view.getText().toString());
selectBtn.setText(view.getText().toString());
}
})
.setNegativeButton("cancel", null)
.setView(view)
.show();
}
})
.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
selectBtn.setText(adapter.getItem(which));
dialog.dismiss();
}
}).create().show();
}
});