[英]Spinner set_on_item_selected_listener not doing anything
I wanted to put just dates data from firebase into a spinner. 我只想将Firebase中的日期数据放到微调器中。
At first tried to use
FirebaseListAdapter
but it kept showing error Hasmap
cant be converted to String. 最初尝试使用
FirebaseListAdapter
但它一直显示错误Hasmap
无法转换为String。 So I did this 所以我做到了
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 gets filled with dates but when I select any date it is not showing the toast and also not logging the position, what's wrong? 微调框充满日期,但是当我选择任何日期时,它既不显示吐司也不记录位置,这是怎么回事?
alpha.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for ( DataSnapshot ds : dataSnapshot.getChildren()){
date.add(ds.getKey().toString());
Log.i("date", date.toString());
dataAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_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) {
}
});
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.