Android实现院系专业三级联动

Android实现院系专业三级联动,供大家参考,具体内容如下

设计一个注册页面

注册项:用户名、密码、学号、性别、爱好、学院、系、专业。

具体要求如下

1、学号只能输入数字
2、密码框要隐藏,8-24位之间
3、性别用单选框,默认选中男
4、爱好用多选框,默认选中第二个选项
5、院、系和专业选择使用下拉列表框(先院,后系、最后专业。要求院系专业之间是联动的,例如:选中了计算机学院,第二个系列表框里只能有该学院的几个系,选中了某一个系,第三个专业列表框里只能有该系对应的专业)
6、点击注册按钮,在TextView中显示所有注册信息,同时用Toast显示所有注册信息

效果图:

点击注册按钮,在TextView中显示所有注册信息,同时用Toast显示所有注册信息

activity_main.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 android:gravity="center"
 tools:context=".MainActivity">
 <ScrollView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:scrollbars="none">
 <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:orientation="vertical">
  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="用户名"
   android:textSize="18dp"
   android:background="#E91E63"
   android:padding="8dp"
   />
  <EditText
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/edt1"
   android:hint="请输入用户名"
   />
  </LinearLayout>
  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="密码"
   android:textSize="18dp"
   android:background="#E91E63"
   android:padding="8dp"
   />
  <EditText
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/edt2"
   android:hint="请输入密码"
   android:inputType="numberPassword"
   />
  </LinearLayout>
  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="学号"
   android:textSize="18dp"
   android:background="#E91E63"
   android:padding="8dp"
   />
  <EditText
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/edt3"
   android:hint="请输入学号"
   android:inputType="number"
   />
  </LinearLayout>
  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="性别"
   android:textSize="18dp"
   />
  <RadioGroup
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/rg1"
   android:orientation="vertical">
   <RadioButton
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/rb1"
   android:text="男"
   android:checked="true"
   />
   <RadioButton
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/rb2"
   android:text="女"
   />
  </RadioGroup>
  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="爱好"
   android:textSize="18dp"
   android:layout_marginLeft="30dp"
   />
  <LinearLayout
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:orientation="vertical"
   >
   <CheckBox
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="唱歌"
   android:id="@+id/cb1"
   />
   <CheckBox
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="跳舞"
   android:checked="true"
   android:id="@+id/cb2"
   />
   <CheckBox
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="书法"
   android:id="@+id/cb3"
   />
  </LinearLayout>
  </LinearLayout>
  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="学院"
   android:textSize="18dp"
   android:background="#4CAF50"
   android:padding="8dp"

   />

  <Spinner
   android:id="@+id/sp1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content" />
  </LinearLayout>
  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="系"
   android:textSize="18dp"
   android:background="#4CAF50"
   android:padding="8dp"
   />

  <Spinner
   android:id="@+id/sp2"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content" />
  </LinearLayout>
  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="专业"
   android:textSize="18dp"
   android:background="#4CAF50"
   android:padding="8dp" />

  <Spinner
   android:id="@+id/sp3"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content" />
  </LinearLayout>
  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <Button
   android:id="@+id/btn1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="注册" />
  <Button
   android:id="@+id/btn2"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="取消" />
  </LinearLayout>
  <TextView
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:id="@+id/id1"
  android:gravity="center"
  android:background="@color/colorAccent"/>
  <TextView
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:id="@+id/id2"
  android:gravity="center"
  android:background="#FFEB3B"/>
  <TextView
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:id="@+id/id3"
  android:gravity="center"
  android:background="#71BFE3"/>
 </LinearLayout>
 </ScrollView>
</LinearLayout>

代码:

package com.example.test;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.provider.MediaStore;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
 Spinner sp1,sp2,sp3;
 Button btn1;
 EditText edt1,edt2,edt3;
 RadioGroup rg1;
 CheckBox cb1,cb2,cb3;
 TextView id1,id2,id3;
 static int index;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 final String []college={"数学与统计学院","化学材料与工程","轻工科学技术学院","电商与物流学院","生态环境学院","计算机学院"};
 final String [][]depart=
  {
   {"公共数学系","应用统计系","经济统计系","数学与应用数学系"},
   {"化学系","材料科学与工程系","化妆品系"},
   {"应用化学系","生物工程系"},
   {"物流管理系","信息管理系"},
   {"环境科学与工程系"},
   {"计算机系"}
  };
 final String [][][]major=
  {
   {{"信息与计算科学"},{"应用统计学"},{"经济统计学"},{"数据科学与大数据技术"}},
   {{"化学技术与工程"},{"高分子材料与工程","功能材料"},{"化妆品技术与工程"}},
   {{"化学"},{"生物工程"}},
   {{"物流管理","供应链管理"},{"电子商务","信息管理与信息系统"}},
   {{"环境科学与工程"}},
   {{"计算机科学与技术","软件工程","物联网工程"}}
  };
 ArrayAdapter<String> colAdapter=new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,college);
 ArrayAdapter<String> depAdapter=new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,depart[0]);
 ArrayAdapter<String> morAdapter=new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,major[0][0]);
 edt1=(EditText)findViewById(R.id.edt1);
 edt2=(EditText)findViewById(R.id.edt2);
 edt3=(EditText)findViewById(R.id.edt3);
 rg1=(RadioGroup) findViewById(R.id.rg1);
 cb1=(CheckBox)findViewById(R.id.cb1);
 cb2=(CheckBox)findViewById(R.id.cb2);
 cb3=(CheckBox)findViewById(R.id.cb3);
 sp1=(Spinner)findViewById(R.id.sp1);
 sp2=(Spinner)findViewById(R.id.sp2);
 sp3=(Spinner)findViewById(R.id.sp3);
 btn1=(Button)findViewById(R.id.btn1);
 id1=(TextView)findViewById(R.id.id1);
 id2=(TextView)findViewById(R.id.id2);
 id3=(TextView)findViewById(R.id.id3);
 sp1.setAdapter(colAdapter);
 sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  @Override
  public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  index=position;
  ArrayAdapter<String> depAdapter=new ArrayAdapter<String>(MainActivity.this,R.layout.support_simple_spinner_dropdown_item,depart[position]);
  sp2.setAdapter(depAdapter);
  }

  @Override
  public void onNothingSelected(AdapterView<?> parent) {

  }
 });
 sp2.setAdapter(depAdapter);
 sp2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  @Override
  public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  ArrayAdapter<String> morAdapter=new ArrayAdapter<String>(MainActivity.this,R.layout.support_simple_spinner_dropdown_item,major[index][position]);
  sp3.setAdapter(morAdapter);
  }

  @Override
  public void onNothingSelected(AdapterView<?> parent) {

  }
 });
 btn1.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
  String likes=" ";
  String name=edt1.getText().toString();
  String password=edt2.getText().toString();
  String num=edt3.getText().toString();
  String str1="用户名:"+name+"\n"+"密码:"+password+"\n"+"学号:"+num;
  String str2=" ";
  if(password.length()<8||password.length()>24)
  {
   Toast.makeText(MainActivity.this,"密码需8-24位",Toast.LENGTH_SHORT).show();
  }
  else{
   id1.setText(str1);
  }
  for(int i=0;i<rg1.getChildCount();i++)
  {
   RadioButton r=(RadioButton)rg1.getChildAt(i);
   if(r.isChecked())
   {
   str2="性别:"+r.getText().toString();
   id2.setText(str2);
   break;
   }
  }
  if(cb1.isChecked())
  {
   likes=likes+cb1.getText().toString();
  }
  if(cb2.isChecked())
  {
   likes=likes+cb2.getText().toString();
  }
  if(cb3.isChecked())
  {
   likes=likes+cb3.getText().toString();
  }
  String str3="爱好:"+likes+"\n"+"学院:"+sp1.getSelectedItem().toString()+"\n"+"系:"+sp2.getSelectedItem().toString()+"\n"+"专业:"+sp3.getSelectedItem().toString();
  Toast.makeText(MainActivity.this,str1+"\n"+str2+"\n"+str3,Toast.LENGTH_SHORT).show();
  id3.setText(str3);
  }
 });
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android自定义WheelView地区选择三级联动

    本文实例为大家分享了WheelView地区选择三级联动的具体代码,供大家参考,具体内容如下 1. 效果 最近需要做一个地区选择的功能,但是在网上和github上找了很久都没找到满意的,然后朋友推荐了一个给我,我花了点时间把代码大致看懂并改成我想要的,并写上我的理解.效果如图: 2. 注意 a. 首先我们要明白,网上这写三级联动的demo,不管是把数据库文件放在raw还是assets中,我们都要进行复制,将这个文件复制到app目录下,即 /data/data/"+context.getPackag

  • 最好用的Android省市区三级联动选择效果

    Android省市区选择三级联动效果,一个不大不小的功能,就算你做过,但是没有相关的代码直接写,也要花掉你至少半天时间. 下面我写出我的实现过程(思路绝对清晰). 先上效果图 一.准备数据 我是用的本地的json数据(走网络的话太慢,每次都要请求),放在asserts中.格式如下: [{ "name": "河北省", "city": [ { "name": "石家庄市", "area":

  • android-wheel控件实现三级联动效果

    本文实例为大家分享了android wheel省市县三级联动效果,供大家参考,具体内容如下 在github上面有一个叫做 Android-wheel 的开源控件, 代码地址:https://github.com/maarek/android-wheel 源码下载地址:http://xiazai.jb51.net/201610/yuanma/AndroidCascadeMaster(jb51.net).rar 主界面布局 activity_main.xml <LinearLayout xmlns:

  • Android使用android-wheel实现省市县三级联动

    今天没事跟群里面侃大山,有个哥们说道Android Wheel这个控件,以为是Andriod内置的控件,google一把,发现是个github上的一个控件. 下载地址:https://code.google.com/p/android-wheel/    发现很适合做省市县三级联动就做了一个. 先看下效果图: 1.首先导入github上的wheel项目 2.新建个项目,然后选择记得右键->Properties->Android中将wheel添加为lib: 上面两个步骤是导入所有开源项目的过程了

  • Android中使用开源框架Citypickerview实现省市区三级联动选择

    1.概述 记得之前做商城项目,需要在地址选择中实现省市区三级联动,方便用户快速的填写地址,当时使用的是一个叫做android-wheel 的开源控件,当时感觉非常好用,唯一麻烦的是需要自己整理并解析省市区的xml文件,思路很简单,但是代码量相对大了些.偶然期间发现了另外一个开源组件,也就是今天要介绍的citypickerview. github地址:crazyandcoder/citypicker 2. 实现效果 下面给大家演示下实现效果: 3.   实现方法 (1)添加依赖 dependenc

  • Android PickerView实现三级联动效果

    GitHub有一个开源控件PickerView,可以实现三级联动的效果.虽然该控件使用非常简单,但是填充数据异常繁琐.GitHub上的Demo在填充数据的时候是一条一条地填充的,代码过于冗余.下面提供一种简便的方式来实现. (1)在app目录下新建一个assets文件夹,将province_data.xml文件复制到该文件夹下,该XML文件里保存了全国的省市县的地址数据. (2)使用SAX解析xml文件中的数据,并将数据填充到PickerView这个控件中. -ProvinceModel- pu

  • Android实现省市区三级联动

    针对AdapterView的拓展使用,Spinner实现省市区的三级联动,具体内容如下 其主要是通过使用Spinner的setOnItemSelectListener来实现. 代码示例: activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

  • Android实现三级联动下拉框 下拉列表spinner的实例代码

    主要实现办法:动态加载各级下拉值的适配器 在监听本级下拉框,当本级下拉框的选中值改变时,随之修改下级的适配器的绑定值              XML布局: 复制代码 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_w

  • Android日期选择器实现年月日三级联动

    最近项目里面用到了一个日期选择器,实现现在主流的WheelView滑动选择,整理了下,做了个Demo.废话不多说,直接上代码. 主布局:activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&quo

  • Android省市区三级联动控件使用方法实例讲解

    最近有需求需要实现省市区三级联动,但是发现之前的实现不够灵活,自己做了一些优化.为了方便以后使用,抽离出来放在了github上WheelView.同时把其核心库放在了JCenter中了,可以直接引用.也可以参考项目中的Demo进行引用 下面介绍一下如何使用 如果用的是AndroidStudio那么直接在build.gradle文件中添加依赖: dependencies { compile 'chuck.WheelItemView:library:1.0.1' } 成功引入库之后,可以在需要弹出省

随机推荐