我正在开发一个在其中一个片段中使用微调器的Android应用程序。 它运行良好的onemulator(API 21),但当我尝试在我的手机上使用时(API 24和21),微调器看起来像一个空白列表。
以下是代码:
ArrayList<String> tags_array = getArrayList();
ArrayAdapter<String> adapter = new ArrayAdapter<>(this.getActivity(),
android.R.layout.simple_spinner_dropdown_item, tags_array);
spinner1.setAdapter(adapter);
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
mParam2 = tags_hash.get(spinner1.getSelectedItem().toString());
new getPostsFiltradosAsync().execute();
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
有人知道造成这种情况的原因吗? 谢谢。
编辑:在API&#23; 23和24的仿真器上工作,所以问题可能在安卓版本中,但不确定为什么。 我会尝试创建一个定制的旋转器,看看是否有效。
答案 0 :(得分:0)
出于某种原因,API 23和24没有使用适配器正确显示微调器:
Calendar c = new GregorianCalendar(); // see http://stackoverflow.com/q/6850874
c.set(Calendar.HOUR_OF_DAY, 0); //anything 0 - 23
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
Date day = c.getTime(); //the midnight, that's the first second of the day.
Random rnd=new Random(day.hashCode());
我通过从下面的类创建一个新的适配器来解决这个问题:
ArrayAdapter<String> adapter = new ArrayAdapter<>(this.getActivity(),
android.R.layout.simple_spinner_dropdown_item, tags_array);
}
工作得很好。 谢谢你的帮助。