从 android 微调器中清除所选值

Clear the selected value from android spinner

一旦复选框被选中,微调器就会显示,一旦复选框被取消选中,微调器就会被隐藏。我在下图中显示了该组合。

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

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;

实际上我的问题是一旦复选框被选中,然后用户 select 来自微调器的值,然后用户取消选中该复选框。我想从微调器中清除 selected 值(或使 selected 值为空)。我怎样才能做到这一点?从我当前的代码旋转器中携带 selected 项目。

我们将不胜感激任何帮助。

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

myspinner.setAdapter(null);

我想你可以这样做:

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

使用这个

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

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

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