【问题标题】:how to add and remove spinner on button click in Android Studio如何在 Android Studio 中单击按钮时添加和删除微调器
【发布时间】:2018-07-06 21:18:18
【问题描述】:

我想在按钮单击时添加和删除微调器,但总数没有。微调器的数量应该只有 3 个。

【问题讨论】:

  • 这是一项简单的任务,但答案取决于您已经编写的内容。请阅读How to Ask,然后向我们展示您为阅读minimal reproducible example所做的努力。
  • 另一种选择是将Spinner 添加到您的布局中并将可见性切换为VISIBLEGONE

标签: android dynamic spinner


【解决方案1】:
  1. 在按钮上创建一个 onClickListener
  2. 在 onClick 方法中,您需要使用findViewById 获取 UI 组件,该组件将成为 Spinner(例如 LinearLayout)的容器
  3. 创建微调器new Spinner(this, mode)(模式为MODE_DIALOGMODE_DROPDOWN
  4. 设置SpinnerAdapter 为带有setAdapter() 的微调器提供数据。适配器的类型取决于您要放在那里的数据。
  5. 通过addView() (explore the params in the docs) 将此 Spinner 添加到容器中。

您可以看到动态添加视图的示例in this SO post

关于 Spinners 数量限制的要求,您可以简单地在您正在处理的 Activity 的私有字段中跟踪当前数量。当然,您需要在添加新 Spinner 之前检查当前数量。

删除微调器类似于添加一个,只需调用removeView(View view)removeViewAt(int index)


如果您不需要每次都用不同的数据填充 Spinner,即您确定第一个 Spinner 将具有 f.e. data "cat","dog","fish":您可以通过将 setVisibility() 设置为 VISIBLE INVISIBLEGONE 来获取 Spinner 的引用并使用它的可见性。

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2014-08-22
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    相关资源
    最近更新 更多