首页 > 解决方案 > 微调器不显示任何文本

问题描述

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

标签: androidspinner

解决方案


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

    }
    }

推荐阅读