清除android spinner中的选定值

时间:2015-03-17 05:53:40

标签: android android-studio checkbox android-spinner

选中复选框后,将显示微调器,一旦取消选中复选框,则隐藏微调器。我在下图中显示了这种组合。

enter image description here

我使用下面的代码实现了这一点。

halfHalfCB.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                if (halfHalfCB.isChecked()) {
                    extraDescriptionHalfSP.setVisibility(View.VISIBLE);
                    textview.setVisibility(View.VISIBLE);
                } else {
                    extraDescriptionHalfSP.setVisibility(View.GONE);
                    textview.setVisibility(View.GONE);
//                  String extraDescriptionHalf = extraDescriptionHalfSP
//                          .getSelectedItem() != null ? extraDescriptionHalfSP
//                          .getSelectedItem().toString() : null;
//                          extraDescriptionHalf = null;
                }
            }

        });

        addToCartButton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                try {
                    String extraDescriptionHalf = extraDescriptionHalfSP
                            .getSelectedItem() != null ? extraDescriptionHalfSP
                            .getSelectedItem().toString() : null;

实际上我的问题是选中复选框,然后用户从微调器中选择一个值,然后用户取消选中该复选框。我想清除微调器中的选定值(或使选定的值为null)。我怎样才能做到这一点?从我当前的代码中,微调器带有所选项目。

任何帮助都将受到高度赞赏。

3 个答案:

答案 0 :(得分:2)

要从微调器移除项目,您可以使用:

myspinner.setAdapter(null);

答案 1 :(得分:1)

我认为你可以这样做:

  ...
  else {
                extraDescriptionHalfSP.setVisibility(View.GONE);
                extraDescriptionHalfSP.setSelection(-1);
                textview.setVisibility(View.GONE);
  ...

答案 2 :(得分:0)

使用此

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {

            if(isChecked){
                spinner.setVisibility(View.VISIBLE);
            }else{
                spinner.setVisibility(View.GONE);
            }
        }
    });