android - 如何为 Android 中的 Spinner 设置错误消息?

标签 android android-widget spinner

我希望能够像这样调用代码,类似于在 TextView 上设置 setError 的方式:

spinner.setError("Error message");

但是,setError 仅适用于 EditText,不适用于 Spinner。

如果未选择微调器字段,我想通知用户。如何不使用 Toast 执行此类通知?

最佳答案

这个帖子中有一些解决方案Creating a setError() for the Spinner :

EdmundYeung99 的一个对我有用,无论您是否使用自己的适配器。 只需将以下代码放入您的验证函数中:

TextView errorText = (TextView)mySpinner.getSelectedView();
errorText.setError("");
errorText.setTextColor(Color.RED);//just to highlight that this is an error
errorText.setText("my actual error text");//changes the selected item text to this

但是,在进行验证时,请确保 Spinner 适配器中至少有一个值。如果没有,就像一个等待填充的空适配器,让你的适配器得到一个空字符串:

ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, new String[]{""});
mySpinner.setAdapter(adapter);

关于android - 如何为 Android 中的 Spinner 设置错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28235689/

相关文章:

java - 用 Java 编写和比较日期

android - 如何在 View 之间的主窗口小部件中创建简单的分隔符/分隔符

java - 在 screen_on 上更新 android 小部件的最佳方法是什么。 Android Oreo 是否支持它(API 26)

android - 需要一个这样的旋转器

android - 在android开发中,你如何找出一个微调器有多少个元素?

android - 从联系人选择器 Intent 中选择电子邮件、姓名和电话号码

android - 为包含的布局 android 指定文本颜色

java - ActionBarCompact 内的微调器

android - Firebase 在与 addListenerForSingleValueEvent() 一起使用时返回旧数据集

android - 在另一个 Intent 中发送 Intent