您的位置:首页 > 移动开发 > Android开发

android 之 Spinner 下拉菜单实现级联

2014-03-31 15:54 323 查看
效果图如下:

默认第一次加载



选择原始队列:



级联效果图:

 



 关键代码给下拉列表选中事件监听绑定Id :

[html] view
plaincopy

int pos = firsthand_dlbh_pinner.getSelectedItemPosition();  

firsthand_pdbh_adapter = new ArrayAdapter<String>(context,  

        android.R.layout.simple_spinner_item, queu_info[pos]);  

firsthand_pdbh_spinner.setAdapter(firsthand_pdbh_adapter);  

 

完整代码:

布局文件代码:

[html] view
plaincopy

<?xml version="1.0" encoding="utf-8"?>  

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  

    android:layout_width="fill_parent"  

    android:layout_height="fill_parent"  

    android:orientation="vertical" >  

  

    <TextView  

        android:id="@+id/firsthand_dlbh"  

        android:layout_width="fill_parent"  

        android:layout_height="wrap_content"  

        android:layout_marginLeft="60sp"  

        android:layout_marginTop="20sp" >  

    </TextView>  

  

    <Spinner  

        android:id="@+id/firsthand_dlbh_pinner"  

        android:layout_width="200sp"  

        android:layout_height="wrap_content"  

        android:layout_marginLeft="60sp"  

        android:layout_marginTop="20sp" >  

    </Spinner>  

      

    <TextView  

        android:id="@+id/firsthand_pdbh"  

        android:layout_width="fill_parent"  

        android:layout_height="wrap_content"  

        android:layout_marginLeft="60sp"  

        android:layout_marginTop="20sp" >  

    </TextView>  

  

    <Spinner  

        android:id="@+id/firsthand_pdbh_pinner"  

        android:layout_width="200sp"  

        android:layout_height="wrap_content"  

        android:layout_marginLeft="60sp"  

        android:layout_marginTop="20sp" >  

    </Spinner>  

  

    <TextView  

        android:id="@+id/target_dlbh"  

        android:layout_width="fill_parent"  

        android:layout_height="wrap_content"  

        android:layout_marginLeft="60sp"  

        android:layout_marginTop="20sp" >  

    </TextView>  

  

    <Spinner  

        android:id="@+id/target_dlbh_spinner"  

        android:layout_width="200sp"  

        android:layout_height="wrap_content"  

        android:layout_marginLeft="60sp"  

        android:layout_marginTop="20sp" >  

    </Spinner>  

  

    <Button  

        android:id="@+id/diff_manage_operation"  

        android:layout_width="wrap_content"  

        android:layout_height="wrap_content"  

        android:layout_marginLeft="100sp"  

        android:layout_marginTop="20sp"  

        android:text="执行调度"  

        android:textSize="18sp" >  

    </Button>  

  

</LinearLayout>  

JAVA 程序代码:

[java] view
plaincopy

import android.app.Activity;  

import android.content.Context;  

  

import android.os.Bundle;  

  

import android.view.Menu;  

import android.view.View;  

import android.view.View.OnClickListener;  

import android.widget.AdapterView;  

import android.widget.ArrayAdapter;  

import android.widget.Button;  

import android.widget.Spinner;  

import android.widget.TextView;  

import android.widget.AdapterView.OnItemSelectedListener;  

  

public class ManageInfo_Activity extends Activity implements OnClickListener {  

    private Context context;  

    private static final String[] queuilist = { "A999", "B888" };  

    private static final String[] default_linfo = { "A01", "A02", "A03", "A04",  

            "A05", "A06", "A07", "A08", "A09", "A10", "A11" };  

    private static final String[][] queu_info = new String[][] {  

            { "A01", "A02", "A03", "A04", "A05", "A06", "A07", "A08", "A09",  

                    "A10", "A11" },  

            { "B01", "B02", "B03", "B04", "B05", "B06", "B07", "B08", "B09",  

                    "B10", "B11" } };  

    private TextView firsthand_dlbh_view;  

    private Spinner firsthand_dlbh_pinner;  

    private ArrayAdapter<String> firsthand_dlbh_adapter;  

  

    private TextView firsthand_pdbh_view;  

    private Spinner firsthand_pdbh_spinner;  

    private ArrayAdapter<String> firsthand_pdbh_adapter;  

  

    private TextView target_dlbh_view;  

    private Spinner target_dlbh_spinner;  

    private ArrayAdapter<String> target_dlbh_adapter;  

  

    private String firsthand_dlbh = "";  

    private String firsthand_pdbh = "";  

    private String target_dlbh = "";  

  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        // TODO Auto-generated method stub  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.activity_manageinfo);  

  

        context = this;  

  

        // 定义原始队列编号下拉菜单  

        firsthand_dlbh_view = (TextView) findViewById(R.id.firsthand_dlbh);  

        firsthand_dlbh_pinner = (Spinner) findViewById(R.id.firsthand_dlbh_pinner);  

        // 将可选内容与ArrayAdapter连接起来  

        firsthand_dlbh_adapter = new ArrayAdapter<String>(this,  

                android.R.layout.simple_spinner_item, queuilist);  

        // 设置下拉列表的风格  

        firsthand_dlbh_adapter  

                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  

        // 将adapter 添加到spinner中  

        firsthand_dlbh_pinner.setAdapter(firsthand_dlbh_adapter);  

        // 添加事件Spinner事件监听  

        firsthand_dlbh_pinner  

                .setOnItemSelectedListener(new FirsthanddlbhSpinnerSelectedListener());  

        // 设置默认值  

        firsthand_dlbh_pinner.setVisibility(View.VISIBLE);  

  

        // 定义原始排队编号下拉菜单  

        firsthand_pdbh_view = (TextView) findViewById(R.id.firsthand_pdbh);  

        firsthand_pdbh_spinner = (Spinner) findViewById(R.id.firsthand_pdbh_pinner);  

        // 将可选内容与ArrayAdapter连接起来  

        firsthand_pdbh_adapter = new ArrayAdapter<String>(this,  

                android.R.layout.simple_spinner_item, default_linfo);  

        // 设置下拉列表的风格  

        firsthand_pdbh_adapter  

                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  

        // 将adapter 添加到spinner中  

        firsthand_pdbh_spinner.setAdapter(firsthand_pdbh_adapter);  

        // 添加事件Spinner事件监听  

        firsthand_pdbh_spinner  

                .setOnItemSelectedListener(new FirsthandpdbhSpinnerSelectedListener());  

        // 设置默认值  

        firsthand_pdbh_spinner.setVisibility(View.VISIBLE);  

  

        // 定义目标队列下拉菜单  

        target_dlbh_view = (TextView) findViewById(R.id.target_dlbh);  

        target_dlbh_spinner = (Spinner) findViewById(R.id.target_dlbh_spinner);  

        // 将可选内容与ArrayAdapter连接起来  

        target_dlbh_adapter = new ArrayAdapter<String>(this,  

                android.R.layout.simple_spinner_item, queuilist);  

        // 设置下拉列表的风格  

        target_dlbh_adapter  

                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  

        // 将adapter 添加到spinner中  

        target_dlbh_spinner.setAdapter(target_dlbh_adapter);  

        // 添加事件Spinner事件监听  

        target_dlbh_spinner  

                .setOnItemSelectedListener(new TargetdlbhpinnerSelectedListener());  

        // 设置默认值  

        target_dlbh_spinner.setVisibility(View.VISIBLE);  

  

        Button diff_manage_operation = (Button) findViewById(R.id.diff_manage_operation);  

        diff_manage_operation.setOnClickListener(this);  

  

    }  

  

    // 选择 目标排队编号 事件 监听器  

    class FirsthanddlbhSpinnerSelectedListener implements  

            OnItemSelectedListener {  

  

        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  

                long arg3) {  

            firsthand_dlbh = queuilist[arg2];  

            firsthand_dlbh_view.setText("选择原始队列是:" + queuilist[arg2]);  

            int pos = firsthand_dlbh_pinner.getSelectedItemPosition();  

            firsthand_pdbh_adapter = new ArrayAdapter<String>(context,  

                    android.R.layout.simple_spinner_item, queu_info[pos]);  

            firsthand_pdbh_spinner.setAdapter(firsthand_pdbh_adapter);  

  

        }  

  

        public void onNothingSelected(AdapterView<?> arg0) {  

        }  

    }  

  

    // 选择 目标排队编号 事件 监听器  

    class FirsthandpdbhSpinnerSelectedListener implements  

            OnItemSelectedListener {  

  

        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  

                long arg3) {  

            firsthand_pdbh = (String) firsthand_pdbh_spinner  

                    .getItemAtPosition(arg2);  

            firsthand_pdbh_view.setText("要移动的排队编号是:"  

                    + (String) firsthand_pdbh_spinner.getItemAtPosition(arg2));  

        }  

  

        public void onNothingSelected(AdapterView<?> arg0) {  

        }  

    }  

  

    // //选择 参照排队编号 事件 监听器  

    class TargetdlbhpinnerSelectedListener implements OnItemSelectedListener {  

  

        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  

                long arg3) {  

            target_dlbh = queuilist[arg2];  

            target_dlbh_view.setText("移动到 " + queuilist[arg2] + " 队列中 ");  

        }  

  

        public void onNothingSelected(AdapterView<?> arg0) {  

        }  

    }  

  

  

    @Override  

    public void onClick(View v) {  

  

        System.out.println(" 进入同一队列调度环节");  

  

        System.out.println("执行把排队编号 " + firsthand_pdbh + " 从 " + firsthand_dlbh  

                + " 队列中移动到  " + target_dlbh + "   队列的末尾操作  ");  

    //  DiffMangerQuening( user_name, estination_code, firsthand_dlbh, firsthand_dlbh,target_dlbh); // switch(v.getId()){//根据点击不同的按钮,弹出相应的提示  

  

  

    }  

  

    @Override  

    public boolean onCreateOptionsMenu(Menu menu) {  

        // Inflate the menu; this adds items to the action bar if it is present.  

        getMenuInflater().inflate(R.menu.activity_main, menu);  

        return true;  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: