Android实现院系专业三级联动

 更新时间:2021年03月16日 08:10:32   作者:上帝的宠儿NO1  
这篇文章主要为大家详细介绍了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);
  }
 });
 }
}

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

相关文章

  • Android开发中Button组件的使用

    Android开发中Button组件的使用

    这篇文章主要介绍了Android开发中Button组件的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 如何让安卓(Android)子控件超出父控件的范围显示

    如何让安卓(Android)子控件超出父控件的范围显示

    下面我们来看一下关于安卓(Android)子控件超出父控件的范围显示出来的方法,希望这篇文章能够帮助到各位安卓(Android)的开发者们,有碰到此问题的朋友可以进来看看哦。
    2016-08-08
  • 详解App保活实现原理

    详解App保活实现原理

    一直以来,App 进程保活都是各大厂商,特别是头部应用开发商永恒的追求。毕竟App 进程死了,就什么也干不了了;一旦 App 进程死亡,那就再也无法在用户的手机上开展任何业务,所有的商业模型在用户侧都没有立足之地
    2021-06-06
  • Android RecylerView入门教程

    Android RecylerView入门教程

    这篇文章主要介绍了Android RecylerView入门教程的相关资料,很适合刚入门的新手学习,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Android中Service服务详解(二)

    Android中Service服务详解(二)

    这篇文章主要介绍了Android中Service服务,在前面一篇的基础上进一步分析了Android Service的绑定服务与解绑服务的相关使用技巧,需要的朋友可以参考下
    2016-01-01
  • Flutter利用SizeTransition实现组件飞入效果

    Flutter利用SizeTransition实现组件飞入效果

    本文将为大家介绍SizeTransition,SizeTransition用于更改子组件的尺寸来实现动画,支持垂直方向或水平方向修改动画。本文将利用其实现组件飞入效果,需要的可以参考一下
    2022-04-04
  • Android实战项目之实现一个简单计算器

    Android实战项目之实现一个简单计算器

    随着移动互联网的普及,手机应用程序已经成为人们生活中不可或缺的一部分,计算器是一类被广泛使用的应用程序之一,这篇文章主要给大家介绍了关于Android实战项目之实现一个简单计算器的相关资料,需要的朋友可以参考下
    2023-10-10
  • android多媒体类VideoView使用方法详解

    android多媒体类VideoView使用方法详解

    这篇文章主要为大家详细介绍了android多媒体类VideoView使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Android WaveView实现水流波动效果

    Android WaveView实现水流波动效果

    这篇文章主要介绍了 Android自定义控件 WaveView实现水流波动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Android仿ios年龄、生日、性别滚轮效果

    Android仿ios年龄、生日、性别滚轮效果

    这篇文章主要为大家详细介绍了Android仿ios年龄、生日、性别滚轮效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11

最新评论