Android 为什么我的旋转器是空的?
我正在为大学做一个项目,我有一个DialogFragment,在那里我为数据库记录了一个新的动物。在表单中,有一个从数据库加载的微调器。这是DialogFragment的“onCreate”代码:Android 为什么我的旋转器是空的?,android,android-spinner,simplecursoradapter,android-cursor,Android,Android Spinner,Simplecursoradapter,Android Cursor,我正在为大学做一个项目,我有一个DialogFragment,在那里我为数据库记录了一个新的动物。在表单中,有一个从数据库加载的微调器。这是DialogFragment的“onCreate”代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); LayoutInflater inflater =
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
LayoutInflater inflater = getActivity().getLayoutInflater();
View v = inflater.inflate(R.layout.dialog_add_animal, null);
Spinner spEspecies = (Spinner) v.findViewById(R.id.spinner);
Cursor c = getActivity().getContentResolver().query(ContratoBBDD.Especies.URI_CONTENIDO,null,null,null,null);
SimpleCursorAdapter adaptador =
new SimpleCursorAdapter(getActivity().getApplicationContext() ,android.R.layout.simple_spinner_item,c,
new String[]{ContratoBBDD.Especies._id},
new int [] {android.R.id.text1},SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER );
Log.d("Tam", c.getCount() + "");
Log.d("Col", c.getColumnCount() + "");
adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spEspecies.setAdapter(adaptador);
ActionBar actionBar = ((AppCompatActivity) getActivity())
.getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDefaultDisplayHomeAsUpEnabled(false);
}
我可以在日志和调试中看到光标有信息,微调器也有信息——但当我单击微调器时,它是空的。我在哪里丢失信息?您可以查看此链接
//构造函数
微调器spEspecies=(微调器)v.findViewById(R.id.Spinner);
//设置要显示的值
//使用查询更改此行,最好使用ArrayList
弦类[]={“智人”、“家猫”、“玉米”};
//插入到微调器
ArrayAdapter aaspEspecies=新的ArrayAdapter(此,
android.R.layout.simple_微调器_项目,特别);
//下拉视图
aaspEspecies.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
种;刚毛适配器(种);
不确定是否将微调器适配器设置为SimpleCorsOrAdapter
。首先尝试获取数据,将其放入数组,创建一个ArrayAdapter
,并将其设置为SpinnerAdapter
。很可能是在数据获取之前设置微调器适配器。
//the constructor
Spinner spEspecies = (Spinner) v.findViewById(R.id.spinner);
//set the value to show
//change this line with query, better use ArrayList<String>
String Especies[] = {"Homo Sapiens","Felis Domestica","Zea mays"};
//insert to spinner
ArrayAdapter<String> aaspEspecies = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, Especies);
// The drop down view
aaspEspecies.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spEspecies.setAdapter(aaspEspecies);