效果图如下:
默认第一次加载
选择原始队列:
级联效果图:
关键代码给下拉列表选中事件监听绑定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="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 程序代码:
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; }}