微调器 set_on_item_selected_listener 没有做任何事情
Spinner set_on_item_selected_listener not doing anything
我只想将来自 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 填满了日期,但是当我 select 任何日期时它既不显示祝酒词也不记录位置,这是怎么回事?
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) {
}
});
}
}
我只想将来自 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 填满了日期,但是当我 select 任何日期时它既不显示祝酒词也不记录位置,这是怎么回事?
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) {
}
});
}
}