android 之 Spinner 下拉菜单实现级联

效果图如下:

默认第一次加载

选择原始队列:

级联效果图:

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

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);

完整代码:

布局文件代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=""android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/firsthand_dlbh"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="60sp"android:layout_marginTop="20sp" ></TextView><Spinnerandroid:id="@+id/firsthand_dlbh_pinner"android:layout_width="200sp"android:layout_height="wrap_content"android:layout_marginLeft="60sp"android:layout_marginTop="20sp" ></Spinner><TextViewandroid:id="@+id/firsthand_pdbh"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="60sp"android:layout_marginTop="20sp" ></TextView><Spinnerandroid:id="@+id/firsthand_pdbh_pinner"android:layout_width="200sp"android:layout_height="wrap_content"android:layout_marginLeft="60sp"android:layout_marginTop="20sp" ></Spinner><TextViewandroid:id="@+id/target_dlbh"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="60sp"android:layout_marginTop="20sp" ></TextView><Spinnerandroid:id="@+id/target_dlbh_spinner"android:layout_width="200sp"android:layout_height="wrap_content"android:layout_marginLeft="60sp"android:layout_marginTop="20sp" ></Spinner><Buttonandroid: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 程序代码:

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 = "";@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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 implementsOnItemSelectedListener {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 implementsOnItemSelectedListener {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) {}}@Overridepublic 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()){//根据点击不同的按钮,,弹出相应的提示}@Overridepublic 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;}}

版权声明:本文为博主原创文章,未经博主允许不得转载。

看着你手中的戒指,你说,你可以把它取下来吗?

android 之 Spinner 下拉菜单实现级联

相关文章:

你感兴趣的文章:

标签云: