微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 防止微调器下拉显示

我正在使用一个微调器,其适配器是动态填充的.

>当有多个项目时,微调器行为是标准行为.点击后,会显示下拉列表,允许用户选择项目
>当只有一个项目时,我想阻止下拉列表出现并捕获click事件以执行操作.

我找不到阻止认行为的解决方案(即在点击时只显示一个项目的下拉列表).关于如何做到这一点的任何想法?
谢谢

解决方法

嗯…如果在微调器中只有一个项目,请尝试使用setClickable(fasle)或setEnabled(false).

试试这个

public class SpinnerActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Spinner spinner = (Spinner) findViewById(R.id.spinner1);
        List<String> list = new ArrayList<String>();
        list.add("list 1");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(dataAdapter);

        if (list.size() < 2) {
            spinner.setClickable(false);
            spinner.setonTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v,MotionEvent event) {
                    if (event.getAction() == MotionEvent.ACTION_UP) {
                        Toast.makeText(SpinnerActivity.this,"Catch it!",Toast.LENGTH_SHORT).show();
                    }
                    return true;
                }
            });
        }


    }
}

原文地址:https://www.jb51.cc/android/310396.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐