spinner部分用法
来源:互联网 发布:mac网页收藏快捷键 编辑:程序博客网 时间:2024/04/29 15:09
1;让默认的提示值,不出现在下拉列表中
事例代码:
public ArrayList<String> arrList = new ArrayList<String>();private void SelectHistory(){ arrList.add(getString(R.string.Select)); arrList.add(getString(R.string.all_device)); arrList.add(getString(R.string.SelectInvert)); mSpinnerSelect = (Spinner) mActivity.findViewById(R.id.spinner_device); ArrayAdapter<String> mSpinnerSelectAdapter = new ArrayAdapter<String>(getActivity(), R.layout .layout_history_report_lv_option_items, arrList) { @Override public View getView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); Iterator iter = arrList.iterator(); while (iter.hasNext()) { if (iter.next().equals(getString(R.string.Select))) { iter.remove(); } } return v; } @Override public int getCount() { return arrList.size(); } }; mSpinnerSelectAdapter.setDropDownViewResource(R.layout .layout_history_report_lv_option_items); mSpinnerSelect.setAdapter(mSpinnerSelectAdapter); mSpinnerSelect.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { if ( arrList.get(0).equals(getString(R.string.all_device))) { mLvAdapter.selectedAll(); } else if(arrList.get(1).equals(R.string.SelectInvert)) { if (mLvAdapter.reverseSelected()) { refreshState(); } } } @Override public void onNothingSelected(AdapterView<?> parent) { } });}
2:获取点击的值:
- //拿到被选择项的值
- str = (String) sp.getSelectedItem();
方法二:
Spinner spinner = (Spinner) adapterView;
String itemContent = (String) adapterView .getItemAtPosition(position);
注:下拉选择事件能不能重复触发同一项选项内容
解:
- @Override
- public void onItemSelected(AdapterView<?> arg0, View arg1,
- int arg2, long arg3) {
- // TODO Auto-generated method stub
- try {
- //以下三行代码是解决问题所在
- Field field = AdapterView.class.getDeclaredField("mOldSelectedPosition");
- field.setAccessible(true); //设置mOldSelectedPosition可访问
- field.setInt(spinner, AdapterView.INVALID_POSITION); //设置mOldSelectedPosition的值
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Override
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- };
0 0
- spinner部分用法
- Spinner 用法
- spinner用法
- Spinner用法
- Spinner用法
- spinner用法
- android Spinner用法
- Spinner用法案例
- Android之Spinner用法
- Spinner 的用法
- Spinner的用法
- Spinner的用法实现
- Spinner 的简单用法
- Spinner的一些用法
- android 之spinner用法
- Android之Spinner用法
- Spinner的用法
- Spinner用法案例
- Shell 不常用命令1
- DataGridView初始化——添加列、添加行号、连接数据库、单击单元格在文本框中显示
- CodeForces 632A
- C# AutoLogin
- #pragma pack(n)的用法
- spinner部分用法
- 小码哥大神班一期全套视频2015年5月至10月
- 类的访问权限于系统维护关联
- 关于android apk包签名的简要说明
- 如何解决标准C库的函数在vs上使用时出现的警告
- Python Convert int to binary
- 《Complex social contagion makes networks more vulnerable to disease outbreaks》
- 代理模式
- jQuery mobile开发之页面(链接)跳转刷新问题