微调框不显示任何文本

时间:2018-12-04 14:34:50

标签: android spinner

单击微调器时,可以看到数组的所有元素,但是单击其中一个时,看不到选择的名称。即使创建了活动,微调框也不会显示任何默认名称。 奇怪的是,我将高度和宽度设置为“包装内容”,在微调器上选择一个项目后,它会更改其大小以适应文本,但看不到文本。 我尝试修改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元素,但是,从微调器中选择一个Partecipant后,它没有显示任何内容。我不敬酒。

1 个答案:

答案 0 :(得分:0)

好吧...您的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) {

    }
    }