java - 微调器不显示数组和文本

标签 java android spinner

微调器不工作。 当我只是在设计模式下玩它时,它不显示箭头,在我以某种方式用一些代码实现它之后它不显示文本。

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
Spinner spinner;
ArrayList spinnerArrayList;
ArrayAdapter spinnerAdapter;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    spinner = findViewById(R.id.spinner);
    spinnerArrayList = new ArrayList();
    spinnerAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,spinnerArrayList);
    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(spinnerAdapter);

    spinnerArrayList.add("Guitar");
    spinnerArrayList.add("Drums");
    spinnerArrayList.add("Keyboard");

}

最佳答案

您正在做的是在设置适配器后更改 ArrayList。 所以适配器不知道数据被改变了。

你可以通过两种方式解决这个问题:

  1. 在设置适配器之前在 ArrayList 中添加元素

  2. 在代码末尾或每当您更改 ArrayList 时使用 notifyDataSetChanged()

像这样:spinnerAdapter.notifyDataSetChanged()

关于java - 微调器不显示数组和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62603502/

相关文章:

java - 将图像插入数据库

java - Kotlin 文件到 apk android 流程?

java - 从 android Activity 中停止媒体播放器(从广播接收器启动)

java - JExcelAPI 可以与 jre 1.5 一起使用吗?

java - 如何使用 fabric sdk 创建 android studio 库?

java - 使用 zxing 对随机字节数组进行编码和解码

java - Android 高度不显示按钮上的阴影

java - 在没有自定义样式的情况下在 Android Spinner 中的项目之间添加更多空间?

java - 具有各种可能的布局

java - 在 Android Studio 中获取列表时,从 Parse 获取列表而不自动选择