• Android学习笔记_72_Spinner的用法


    一、普通

     1、

    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:gravity="left"
        android:paddingLeft="8dip"
        android:singleLine="true"
        android:textSize="12sp"
        android:textStyle="bold"
        android:textColor="@color/gsdk_black"
        android:text="sdf" />

    2

    private String[] method = null;
    ArrayAdapter<String> methodAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, method);
    methodSpinner = (Spinner) findViewById(R.id.spinner_recharge_type);
    moneyAdapter
    .setDropDownViewResource(android.R.layout.select_dialog_item); methodSpinner.setAdapter(methodAdapter);

     二、自定义spinner:

    1、配置文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    
        <TextView
            android:id="@+id/tv_spinner_id"
            android:layout_width="60dp"
            android:layout_height="80dp"
            android:visibility="gone" />
    
        <TextView
            android:id="@+id/tv_spinner_name"
            style="?android:attr/spinnerDropDownItemStyle"
            android:layout_width="match_parent"
            android:layout_height="35dip"
            android:gravity="center_vertical"
            android:paddingLeft="10dp"
            android:textColor="#000"
            android:textSize="@dimen/font_body" />
    
    </LinearLayout>

    2、填充数据

    List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
                        for (Project project : linkedList) {
                            Map<String, Object> map = new HashMap<String, Object>();
                            map.put("name", project.getName());
                            map.put("id", project.getId());
                            data.add(map);
                        }                    
                        searchAdapter = new SimpleAdapter(PurchaseActivity.this, data,
                                 R.layout.purchase_search_spinner, new String[]{"id","name"},
                                 new int[]{R.id.tv_spinner_id,R.id.tv_spinner_name});
                        searchSpinner.setAdapter(searchAdapter);

    3、点击事件:注意点击事件是OnItemSelectedListener而不是OnItemClickListener.

       private class SearchSpinnerItemListener implements OnItemSelectedListener{
    
            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                Spinner spinner = (Spinner) parent;
                Map<String, Object> projectMap = (Map<String, Object>) spinner.getItemAtPosition(position);
                int pid = Integer.valueOf(projectMap.get("id")+"");
                String pname = (String) projectMap.get("name");
                Log.i("Purchase","pid: "+pid+" pname: "+pname);
                
            }
    
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
                 
        }
  • 相关阅读:
    table表格宽带研究(附带:table表格为什么设置td宽度无效)
    同一天有重复请假
    C#通过SQL 添加,删除,或者修改表名。
    将数据导出到Excel2007格式。
    MRBS, meeting room manager system,会议预定管理系统
    于网站主机,DNS,域名解析,Web服务器关系详解
    关于启明星系统(OA系统,预定系统,请假系统等)开始ASP.NET身份验证
    启明星系统字体的演变
    从网易获取股票每日交易数据的爬虫程序
    如何让Web程序在点击按钮后出现如执行批处理程序般的效果
  • 原文地址:https://www.cnblogs.com/lbangel/p/3709858.html
Copyright © 2020-2023  润新知