安卓场景开发四(自定义下拉搜索框)
一 效果图
二 实现说明
-
主要运用的是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");
}
四 地址
如果对你有帮助,帮我点个星,万分感谢
