热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

android之Spinner下拉菜单实现级联

android之Spinner下拉菜单实现级联,需要的朋友可以参考一下

效果图如下:

默认第一次加载

选择原始队列:

级联效果图:

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

代码如下:

int pos = firsthand_dlbh_pinner.getSelectedItemPosition();
firsthand_pdbh_adapter = new ArrayAdapter(context,
 android.R.layout.simple_spinner_item, queu_info[pos]);
firsthand_pdbh_spinner.setAdapter(firsthand_pdbh_adapter);

完整代码:

布局文件代码:

代码如下:


    android:layout_
    android:layout_
    android:orientation="vertical" >

            android:id="@+id/firsthand_dlbh"
        android:layout_
        android:layout_
        android:layout_marginLeft="60sp"
        android:layout_marginTop="20sp" >
   

            android:id="@+id/firsthand_dlbh_pinner"
        android:layout_
        android:layout_
        android:layout_marginLeft="60sp"
        android:layout_marginTop="20sp" >
   

            android:id="@+id/firsthand_pdbh"
        android:layout_
        android:layout_
        android:layout_marginLeft="60sp"
        android:layout_marginTop="20sp" >
   

            android:id="@+id/firsthand_pdbh_pinner"
        android:layout_
        android:layout_
        android:layout_marginLeft="60sp"
        android:layout_marginTop="20sp" >
   

            android:id="@+id/target_dlbh"
        android:layout_
        android:layout_
        android:layout_marginLeft="60sp"
        android:layout_marginTop="20sp" >
   

            android:id="@+id/target_dlbh_spinner"
        android:layout_
        android:layout_
        android:layout_marginLeft="60sp"
        android:layout_marginTop="20sp" >
   

            android:id="@+id/diff_manage_operation"
        android:layout_
        android:layout_
        android:layout_marginLeft="100sp"
        android:layout_marginTop="20sp"
        android:text="执行调度"
        android:textSize="18sp" >
   



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

 private TextView firsthand_pdbh_view;
 private Spinner firsthand_pdbh_spinner;
 private ArrayAdapter firsthand_pdbh_adapter;

 private TextView target_dlbh_view;
 private Spinner target_dlbh_spinner;
 private ArrayAdapter 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(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(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(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(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;
 }
}


推荐阅读
  • 本文介绍了如何通过设置背景形状来轻松地为 Android 的 TextView 添加圆形边框。我们将详细讲解 XML 代码的配置,包括圆角、描边和填充等属性。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 算法题解析:最短无序连续子数组
    本题探讨如何通过单调栈的方法,找到一个数组中最短的需要排序的连续子数组。通过正向和反向遍历,分别使用单调递增栈和单调递减栈来确定边界索引,从而定位出最小的无序子数组。 ... [详细]
  • 本文详细介绍了如何使用 PHP 接收并处理微信支付的回调结果,确保支付通知能够被正确接收和响应。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 理解UML的重要性及其应用
    探讨为什么大多数开发人员难以成为架构师,介绍从现实世界到业务模型的抽象过程,并详细解释UML在软件设计中的关键作用。 ... [详细]
  • ABBYY FineReader:高效PDF转换、精准OCR识别与文档对比工具
    在处理PDF转换和OCR识别时,您是否遇到过格式混乱、识别率低或图表无法正常识别的问题?ABBYY FineReader以其强大的功能和高精度的识别技术,完美解决这些问题,帮助您轻松找到最终版文档。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
  • 深入解析AUTOSAR方法论:汽车电子系统开发的理论基础(第三部分)
    本文详细探讨了AUTOSAR方法论在汽车电子软件系统开发中的应用,涵盖了从系统配置到生成可执行代码的各个关键步骤。通过介绍各阶段的任务和工具支持,帮助读者全面理解AUTOSAR的设计流程。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
samiensfe_663
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有