【发布时间】:2018-02-05 15:31:50
【问题描述】:
我只想将来自 firebase 的日期数据放入微调器中。 起初尝试使用FirebaseListAdapter,但一直显示错误Hasmap 无法转换为字符串。所以我这样做了
List<String> date = new ArrayList<String>();
ArrayAdapter<String> dataAdapter ;
private String selectedTag;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alpha = FirebaseDatabase.getInstance().getReference().child("q").child("r");
spinner = findViewById(R.id.spinner);
alpha.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for ( DataSnapshot ds : dataSnapshot.getChildren()){
date.add(ds.getKey());
Log.i("date", date.toString());
}
}
// after onCanelled
dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, date);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// On selecting a spinner item
selectedTag = parent.getItemAtPosition(position).toString();
Log.i("position", String.valueOf(position));
Toast.makeText(MainActivity.this, "Selected: " + selectedTag, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
Spinner 填满了日期,但是当我选择任何日期时,它没有显示 toast 也没有记录位置,这是怎么回事?
【问题讨论】:
标签: java android spinner android-arrayadapter android-spinner