【问题标题】:spinner android with big padding带有大填充的微调器 android
【发布时间】:2014-06-24 19:07:30
【问题描述】:

您好,我正在为 android 开发一个使用 4 个微调器的应用程序,请参阅微调器下方的“图片”,如下所示:

____________________ |_选项__________v_|微调器 1 ____________________ |_选项__________v_|微调器 2 ____________________ |_选项______v_|微调器 3 ____________________ |_选项__________v_|微调器 4 (我不能发布图片)

问题是如果 1 更改了您的值(对于默认值),我如何禁用 2 3 4 微调器并将它们的值设置为默认值,或者如果 2 微调器更改了您的值,我如何执行相同操作?

【问题讨论】:

  • 您要问的是如何更改默认微调器项目,这是您的字符串数组中的第一个,如果正在使用您的另一个微调器?或者什么..请澄清
  • 抱歉不清楚,但是想象一下,如果用户去 spinner 1 并选择一些东西,应用程序将获取一个 JSON 并加载 spinner 2 的内容,如果用户去 spinner 2 并选择微调器 3 和 4 会发生相同的情况,如果用户转到微调器 1 并选择他的默认值,我想重置为默认微调器 2 3 4,如果用户转到微调器 2,则仅重置为默认微调器 3 和 4 和选择他的默认值。

标签: java android json spinner android-arrayadapter


【解决方案1】:

假设您的默认值位于位置 0(第一项)。

然后试试下面的代码

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            if (arg2 == 0) {
                spinner2.setSelection(0);
                spinner3.setSelection(0);
                spinner4.setSelection(0);
                spinner2.setEnabled(false);
                spinner3.setEnabled(false);
                spinner4.setEnabled(false);
            }else{
                spinner2.setEnabled(true);
                spinner3.setEnabled(true);
                spinner4.setEnabled(true);
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {

        }
    });

【讨论】:

  • 我需要对所有其他纺纱厂做同样的事情吗? (重复相同的代码只更改我想要的微调器示例:spinner2.setOn... spinner3.setOn...)
  • 您可以创建一个OnItemSelectedListener 对象并设置其onItemSelected 方法,然后将相同的OnItemSelectedListener 分配给所有微调器
猜你喜欢
  • 1970-01-01
  • 2014-10-27
  • 2013-04-09
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多