android - 微调器不显示任何文本
问题描述
当我单击微调器时,我可以看到数组的所有元素,但是当我单击其中一个时,我看不到我选择的名称。即使创建了活动,微调器也不会显示任何默认名称。奇怪的想法是我将高度和宽度设置为“包装内容”,在我在微调器上选择一个项目后,它会改变它的大小以适应文本,但我看不到文本。我尝试修改 simple_spinner_item.xml 将文本颜色更改为黑色..但没有任何改变。在这一点上,也许我错过了一些代码?
这就是加载微调器的方法(我在“OnCreate”上调用方法):
public void load_spinner(){
partecipantsArrayList = getPartecipantsList();
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, partecipantsArrayList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(),"selected",Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
这就是包含微调器的 xml:
<Spinner
android:id="@+id/partecipants_spinner"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:spinnerMode="dropdown"
/>
当我单击它时,微调器会显示 partecipantsArray 元素,但是,在我从微调器中选择一个参与者之后,它不会像我之前所说的那样显示任何内容。我没有展示吐司。
解决方案
好吧...你的 OnItemSelectedListener 在哪里?
spinnerListener = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
adapterView.setSelection(i);
// Perhaps some other logic
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
}