zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

android之Spinner下拉菜单实现级联

Android 实现 级联 下拉菜单 spinner
2023-06-13 09:14:46 时间

效果图如下:

默认第一次加载

选择原始队列:

级联效果图:

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

复制代码代码如下:

intpos=firsthand_dlbh_pinner.getSelectedItemPosition();
firsthand_pdbh_adapter=newArrayAdapter<String>(context,
 android.R.layout.simple_spinner_item,queu_info[pos]);
firsthand_pdbh_spinner.setAdapter(firsthand_pdbh_adapter);

完整代码:

布局文件代码:

复制代码代码如下:


<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns: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程序代码:
复制代码代码如下:
importandroid.app.Activity;
importandroid.content.Context;

importandroid.os.Bundle;

importandroid.view.Menu;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.AdapterView;
importandroid.widget.ArrayAdapter;
importandroid.widget.Button;
importandroid.widget.Spinner;
importandroid.widget.TextView;
importandroid.widget.AdapterView.OnItemSelectedListener;

publicclassManageInfo_ActivityextendsActivityimplementsOnClickListener{
 privateContextcontext;
 privatestaticfinalString[]queuilist={"A999","B888"};
 privatestaticfinalString[]default_linfo={"A01","A02","A03","A04",
   "A05","A06","A07","A08","A09","A10","A11"};
 privatestaticfinalString[][]queu_info=newString[][]{
   {"A01","A02","A03","A04","A05","A06","A07","A08","A09",
     "A10","A11"},
   {"B01","B02","B03","B04","B05","B06","B07","B08","B09",
     "B10","B11"}};
 privateTextViewfirsthand_dlbh_view;
 privateSpinnerfirsthand_dlbh_pinner;
 privateArrayAdapter<String>firsthand_dlbh_adapter;

 privateTextViewfirsthand_pdbh_view;
 privateSpinnerfirsthand_pdbh_spinner;
 privateArrayAdapter<String>firsthand_pdbh_adapter;

 privateTextViewtarget_dlbh_view;
 privateSpinnertarget_dlbh_spinner;
 privateArrayAdapter<String>target_dlbh_adapter;

 privateStringfirsthand_dlbh="";
 privateStringfirsthand_pdbh="";
 privateStringtarget_dlbh="";

 @Override
 protectedvoidonCreate(BundlesavedInstanceState){
  //TODOAuto-generatedmethodstub
  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=newArrayAdapter<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(newFirsthanddlbhSpinnerSelectedListener());
  //设置默认值
  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=newArrayAdapter<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(newFirsthandpdbhSpinnerSelectedListener());
  //设置默认值
  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=newArrayAdapter<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(newTargetdlbhpinnerSelectedListener());
  //设置默认值
  target_dlbh_spinner.setVisibility(View.VISIBLE);

  Buttondiff_manage_operation=(Button)findViewById(R.id.diff_manage_operation);
  diff_manage_operation.setOnClickListener(this);

 }

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

  publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,
    longarg3){
   firsthand_dlbh=queuilist[arg2];
   firsthand_dlbh_view.setText("选择原始队列是:"+queuilist[arg2]);
   intpos=firsthand_dlbh_pinner.getSelectedItemPosition();
   firsthand_pdbh_adapter=newArrayAdapter<String>(context,
     android.R.layout.simple_spinner_item,queu_info[pos]);
   firsthand_pdbh_spinner.setAdapter(firsthand_pdbh_adapter);

  }

  publicvoidonNothingSelected(AdapterView<?>arg0){
  }
 }

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

  publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,
    longarg3){
   firsthand_pdbh=(String)firsthand_pdbh_spinner
     .getItemAtPosition(arg2);
   firsthand_pdbh_view.setText("要移动的排队编号是:"
     +(String)firsthand_pdbh_spinner.getItemAtPosition(arg2));
  }

  publicvoidonNothingSelected(AdapterView<?>arg0){
  }
 }

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

  publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,
    longarg3){
   target_dlbh=queuilist[arg2];
   target_dlbh_view.setText("移动到"+queuilist[arg2]+"队列中");
  }

  publicvoidonNothingSelected(AdapterView<?>arg0){
  }
 }


 @Override
 publicvoidonClick(Viewv){

  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
 publicbooleanonCreateOptionsMenu(Menumenu){
  //Inflatethemenu;thisaddsitemstotheactionbarifitispresent.
  getMenuInflater().inflate(R.menu.activity_main,menu);
  returntrue;
 }
}