安卓场景开发四(自定义下拉搜索框)

一 效果图

二 实现说明

    主要运用的是EditText与PopupWindow 对EditText的监听,来对适配器中的数据进行过滤,从而显示到文本框中 主要对这个 开源项目进行了一下改造 解决:焦点与输入法弹出选项卡;以及自定义与后端的字典是数据格式;以及回显绑定

三 使用

    初始化:
@Override
    protected void onCreate(Bundle savedInstanceState) {
          
   
        final List<Select> tvs = new ArrayList<>();
        tvs.add(new Select("检查", "1"));
        tvs.add(new Select("车辆检查", "2"));
        tvs.add(new Select("车辆数检查", "3"));
        tvs.add(new Select("联网检查", "4"));
        tvs.add(new Select("底盘检测", "5"));

         List<Select> tvs2 = new ArrayList<>();
        tvs2.add(new Select("检", "1"));
        tvs2.add(new Select("检查", "2"));
        tvs2.add(new Select("数检查", "3"));
        tvs2.add(new Select("检查", "4"));
        tvs2.add(new Select("检测", "5"));
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editSpinner = (SearchSpinner) findViewById(R.id.editSpinner1);
        editSpinner.setRightImageResource(R.drawable.ic_expand_more_black);
        editSpinner.setHint("请选择检测类型");
        editSpinner.setItemData(tvs);

        editSpinner2 = (SearchSpinner) findViewById(R.id.editSpinner2);
        editSpinner2.setRightImageResource(R.drawable.ic_expand_more_black);
        editSpinner2.setHint("请选择检测类型2");
        editSpinner2.setItemData(tvs2);
    }
    获取选中的值
/**
     * 获取值
     * @param view
     */
    public void clickButton(View view){
          
   
        Select spinnerText = editSpinner.getSelect();
        Toast.makeText(getApplicationContext(), "你选择的是值:"+spinnerText.getValue()+"  你选择的是名称:"+spinnerText.getName(), Toast.LENGTH_SHORT).show();
    }
    设置默认值,以及后端请求默认值
/**
     * 设置默认值
     * @param view
     */
    public void clickButton2(View view){
          
   
        editSpinner.setText("2");
    }

四 地址

如果对你有帮助,帮我点个星,万分感谢

经验分享 程序员 微信小程序 职场和发展