复习AndroidStudio复选控件、单选控件、文本控件以及activity数据传送以及回传练习(日常作业练习)
————安德风
一、单选按钮组交互小练习
1、效果演示:
2、activity_main.xml布局设计代码
1 <?xml version="1.0" encoding="utf-8"?> 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".MainActivity"> 8 9 <TextView 10 android:id="@+id/textView" 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:text="@string/ts" 14 android:textSize="24sp" 15 app:layout_constraintBottom_toBottomOf="parent" 16 app:layout_constraintHorizontal_bias="0.107" 17 app:layout_constraintLeft_toLeftOf="parent" 18 app:layout_constraintRight_toRightOf="parent" 19 app:layout_constraintTop_toTopOf="parent" 20 app:layout_constraintVertical_bias="0.064" /> 21 22 <EditText 23 android:id="@+id/et" 24 android:layout_width="242dp" 25 android:layout_height="55dp" 26 android:layout_marginStart="84dp" 27 android:layout_marginLeft="84dp" 28 android:layout_marginTop="16dp" 29 android:ems="10" 30 android:inputType="textPersonName" 31 app:layout_constraintStart_toStartOf="parent" 32 app:layout_constraintTop_toBottomOf="@+id/textView" /> 33 34 <RadioGroup 35 android:id="@+id/rg" 36 android:layout_width="wrap_content" 37 android:layout_height="wrap_content" 38 android:layout_marginStart="40dp" 39 android:layout_marginLeft="40dp" 40 android:layout_marginTop="28dp" 41 app:layout_constraintStart_toStartOf="parent" 42 app:layout_constraintTop_toBottomOf="@+id/et"> 43 44 <RadioButton 45 android:id="@+id/nan" 46 android:layout_width="match_parent" 47 android:layout_height="wrap_content" 48 android:text="@string/nan" 49 android:textSize="24sp" /> 50 51 <RadioButton 52 android:id="@+id/nv" 53 android:layout_width="match_parent" 54 android:layout_height="wrap_content" 55 android:text="@string/nv" 56 android:textSize="24sp" /> 57 </RadioGroup> 58 59 <Button 60 android:id="@+id/bt" 61 android:layout_width="wrap_content" 62 android:layout_height="wrap_content" 63 android:layout_marginStart="40dp" 64 android:layout_marginLeft="40dp" 65 android:layout_marginTop="24dp" 66 android:text="@string/queding" 67 app:layout_constraintStart_toStartOf="parent" 68 app:layout_constraintTop_toBottomOf="@+id/rg" /> 69 70 <TextView 71 android:id="@+id/tv" 72 android:layout_width="wrap_content" 73 android:layout_height="wrap_content" 74 android:layout_marginStart="40dp" 75 android:layout_marginLeft="40dp" 76 android:layout_marginTop="36dp" 77 android:hint="@string/show" 78 android:textSize="24sp" 79 app:layout_constraintStart_toStartOf="parent" 80 app:layout_constraintTop_toBottomOf="@+id/bt" /> 81 82 </android.support.constraint.ConstraintLayout>
3、MainActivity功能实现代码
1 package com.example.myapplication; 2 3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.view.View; 6 import android.widget.Button; 7 import android.widget.EditText; 8 import android.widget.RadioButton; 9 import android.widget.RadioGroup; 10 import android.widget.TextView; 11 12 public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener, View.OnClickListener { 13 EditText et;//声明输入姓名文本控件变量为et 14 RadioGroup rg;//声明单选组控件变量为rg 15 RadioButton nan,nv;//声明单选按钮1单选按钮2变量分别为nan、nv 16 Button bt;//声明确定按钮变量为rg 17 TextView tv;//声明输出演示文本变量为rg 18 String radio="";//声明用户单选存放值变量为rg 19 @Override 20 protected void onCreate(Bundle savedInstanceState) { 21 super.onCreate(savedInstanceState); 22 setContentView(R.layout.activity_main); 23 24 et=findViewById(R.id.et);//寻找输入姓名文本框ID 25 rg=findViewById(R.id.rg);//寻找单选组控件ID 26 nan=findViewById(R.id.nan);//寻找单选按钮1控件ID 27 nv=findViewById(R.id.nv);//寻找单选按钮2控件ID 28 bt=findViewById(R.id.bt);//寻找确定按钮控件ID 29 tv=findViewById(R.id.tv);//寻找输出文本控件ID 30 31 32 rg.setOnCheckedChangeListener(this);//给单选组控件建立监听器(OnCheckedChangeListener) 33 bt.setOnClickListener(this);//给确定按钮控件建立监听器(OnClickListener) 34 } 35 36 37 //实现用户单选按钮功能 38 @Override 39 public void onCheckedChanged(RadioGroup group, int checkedId) { 40 if (nan.isChecked()){ //判断是否选中单选按钮1为男的控件 41 radio+=nan.getText().toString();} //如果选中了单选按钮1为男控件,并将获得该控件的文本属性内容为“男”作为后面tv(输出文本控件)输出 42 if (nv.isChecked()){ //判断是否选中单选按钮2为女的控件 43 radio+=nv.getText().toString();} //如果选中了单选按钮2为女控件,并将获得该控件的文本属性内容为“女”作为后面tv(输出文本控件)输出 44 45 } 46 47 //实现点击按钮输出tv(文本控件显示功能) 48 @Override 49 public void onClick(View v) { 50 String name=et.getText().toString(); //得到用户输入文本框(et)姓名 51 tv.setText("您输入的信息为: "+"姓名:"+name+" 性别:"+radio);//tv(输出文本框)输出显示的内容(用户输入的名字内容以及用户选中的单选内容) 52 } 53 }
二、复选按钮组交互小练习
1、效果演示
2、activity_main.xml布局设计代码
1 <?xml version="1.0" encoding="utf-8"?> 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 android:background="#E0FFFF" 8 tools:context=".MainActivity"> 9 10 <TextView 11 android:id="@+id/textView2" 12 android:layout_width="wrap_content" 13 android:layout_height="wrap_content" 14 android:hint="@string/choose" 15 android:textColor="#FCFCFC" 16 android:textSize="24sp" 17 app:layout_constraintBottom_toBottomOf="parent" 18 app:layout_constraintHorizontal_bias="0.051" 19 app:layout_constraintLeft_toLeftOf="parent" 20 app:layout_constraintRight_toRightOf="parent" 21 app:layout_constraintTop_toTopOf="parent" 22 app:layout_constraintVertical_bias="0.032" /> 23 24 <CheckBox 25 android:id="@+id/cb1" 26 android:layout_width="wrap_content" 27 android:layout_height="wrap_content" 28 android:layout_marginStart="40dp" 29 android:layout_marginLeft="40dp" 30 android:layout_marginTop="24dp" 31 32 android:text="@string/gq_1" 33 android:textColor="#9E9E9E" 34 android:textSize="24sp" 35 app:layout_constraintStart_toStartOf="parent" 36 app:layout_constraintTop_toBottomOf="@+id/textView2" /> 37 38 <CheckBox 39 android:id="@+id/cb2" 40 android:layout_width="wrap_content" 41 android:layout_height="wrap_content" 42 android:layout_marginStart="40dp" 43 android:layout_marginLeft="40dp" 44 android:layout_marginTop="12dp" 45 46 android:text="@string/gq_2" 47 android:textColor="#9E9E9E" 48 android:textSize="24sp" 49 app:layout_constraintStart_toStartOf="parent" 50 app:layout_constraintTop_toBottomOf="@+id/cb1" /> 51 52 <CheckBox 53 android:id="@+id/cb3" 54 android:layout_width="wrap_content" 55 android:layout_height="wrap_content" 56 android:layout_marginStart="40dp" 57 android:layout_marginLeft="40dp" 58 android:layout_marginTop="12dp" 59 60 android:text="@string/gq_3" 61 android:textColor="#9E9E9E" 62 android:textSize="24sp" 63 app:layout_constraintStart_toStartOf="parent" 64 app:layout_constraintTop_toBottomOf="@+id/cb2" /> 65 66 <Button 67 android:id="@+id/bt" 68 android:layout_width="wrap_content" 69 android:layout_height="wrap_content" 70 android:layout_marginStart="44dp" 71 android:layout_marginLeft="44dp" 72 android:layout_marginTop="24dp" 73 android:text="@string/button" 74 android:textColor="#9E9E9E" 75 android:textSize="24sp" 76 app:layout_constraintStart_toStartOf="parent" 77 app:layout_constraintTop_toBottomOf="@+id/cb3" /> 78 79 <TextView 80 android:id="@+id/tv" 81 android:layout_width="280dp" 82 android:layout_height="152dp" 83 android:layout_marginStart="44dp" 84 android:layout_marginLeft="44dp" 85 android:layout_marginTop="8dp" 86 android:hint="@string/show" 87 android:textSize="24sp" 88 app:layout_constraintStart_toStartOf="parent" 89 app:layout_constraintTop_toBottomOf="@+id/bt" /> 90 91 </android.support.constraint.ConstraintLayout>
3、MainActivity功能实现代码
1 package com.example.myapp; 2 3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.view.View; 6 import android.widget.Button; 7 import android.widget.CheckBox; 8 import android.widget.CompoundButton; 9 import android.widget.TextView; 10 11 public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener { 12 CheckBox cb1, cb2, cb3;//声明复选控件1、2 、 3变量分别为cb1, cb2, cb3 13 Button bt;//声明获得选项值普通按钮变量为bt 14 TextView tv;//声明输出文本控件变量为tv 15 private String gq1 = " ", gq2 = "", gq3 = ""; 16 //声明私有化字符歌曲1、歌曲2、歌曲3变量分别为gq1、gq2、gq3,便于后面存放数据 17 @Override 18 protected void onCreate(Bundle savedInstanceState) { 19 super.onCreate(savedInstanceState); 20 setContentView(R.layout.activity_main); 21 22 23 cb1=findViewById(R.id.cb1);//寻找复选按钮1控件ID 24 cb2=findViewById(R.id.cb2);//寻找复选按钮2控件ID 25 cb3=findViewById(R.id.cb3);//寻找复选按钮3控件ID 26 bt=findViewById(R.id.bt);//寻找获得选项值普通按钮控件ID 27 tv=findViewById(R.id.tv);//寻找输出文本控件ID 28 29 cb1.setOnCheckedChangeListener(this);//给复选按钮1控件建立监听器(OnCheckedChangeListener) 30 cb2.setOnCheckedChangeListener(this);//给复选按钮2控件建立监听器(OnCheckedChangeListener) 31 cb3.setOnCheckedChangeListener(this);//给复选按钮3控件建立监听器(OnCheckedChangeListener) 32 33 34 bt.setOnClickListener(new View.OnClickListener() {//给获得选项值普通按钮建立监听器(OnClickListener)并创建方法 35 @Override 36 public void onClick(View view) { //实现点击按钮输出文本内容 37 tv.setText("您选中的歌曲: "+gq1+" "+gq2+" "+gq3+" "); 38 } 39 }); 40 41 42 } 43 //实现复选安钮交互功能 44 @Override 45 public void onCheckedChanged(CompoundButton compoundButton, boolean b) { 46 switch (compoundButton.getId()){ //通过多分支选择用ID作为判断 47 case R.id.cb1: 48 if (b==true){ 49 gq1+=cb1.getText().toString();break;} //如果选中的是复选按钮1,则或者改按钮对应的文本属性内容,并将值赋值给gq1自变量;便于后面文本输出 50 51 52 case R.id.cb2: 53 if (b==true){ 54 gq2+=cb2.getText().toString();break;} //如果选中的是复选按钮2,则或者改按钮对应的文本属性内容,并将值赋值给gq1自变量;便于后面文本输出 55 56 57 case R.id.cb3: 58 if (b==true){ 59 gq3+=cb3.getText().toString();break;} //如果选中的是复选按钮3,则或者改按钮对应的文本属性内容,并将值赋值给gq1自变量;便于后面文本输出 60 61 } 62 } 63 }
4、res/values/color.xml界面演示设计
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <color name="colorPrimary">#B2DFEE</color> 4 <color name="colorPrimaryDark">#B2DFEE</color> 5 <color name="colorAccent">#9E9E9E</color> 6 </resources>
三、简易留言板制作小练习
1、效果演示
2、activity_main.xml布局设计代码
1 <?xml version="1.0" encoding="utf-8"?> 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".MainActivity"> 8 9 <TextView 10 android:id="@+id/tv" 11 android:layout_width="265dp" 12 android:layout_height="108dp" 13 android:layout_marginEnd="8dp" 14 android:layout_marginLeft="8dp" 15 android:layout_marginRight="8dp" 16 android:layout_marginStart="8dp" 17 android:layout_marginTop="28dp" 18 android:background="@drawable/border" 19 android:hint="演示输入内容" 20 android:inputType="textMultiLine" 21 app:layout_constraintEnd_toEndOf="parent" 22 app:layout_constraintHorizontal_bias="0.349" 23 app:layout_constraintStart_toStartOf="parent" 24 app:layout_constraintTop_toTopOf="parent" /> 25 26 <TextView 27 android:id="@+id/textView2" 28 android:layout_width="wrap_content" 29 android:layout_height="0dp" 30 android:layout_marginLeft="44dp" 31 android:layout_marginStart="44dp" 32 android:layout_marginTop="28dp" 33 android:text="用户名:" 34 app:layout_constraintStart_toStartOf="parent" 35 app:layout_constraintTop_toBottomOf="@+id/tv" /> 36 37 <EditText 38 android:id="@+id/yhm" 39 android:layout_width="148dp" 40 android:layout_height="33dp" 41 android:layout_marginLeft="8dp" 42 android:layout_marginStart="8dp" 43 android:layout_marginTop="28dp" 44 android:background="@drawable/border" 45 android:onClick="fsonClick" 46 android:ems="10" 47 android:hint="请输入用户名" 48 android:inputType="textPersonName" 49 app:layout_constraintStart_toEndOf="@+id/textView2" 50 app:layout_constraintTop_toBottomOf="@+id/tv" /> 51 52 <EditText 53 android:id="@+id/nr" 54 android:layout_width="270dp" 55 android:layout_height="141dp" 56 android:layout_marginLeft="28dp" 57 android:layout_marginStart="28dp" 58 android:layout_marginTop="20dp" 59 android:background="@drawable/border" 60 android:ems="10" 61 android:gravity="top" 62 android:hint="请输入您要发送的内容" 63 android:inputType="textMultiLine|textPersonName" 64 app:layout_constraintStart_toStartOf="parent" 65 app:layout_constraintTop_toBottomOf="@+id/yhm" /> 66 67 <Button 68 android:id="@+id/fs" 69 android:layout_width="wrap_content" 70 android:layout_height="wrap_content" 71 android:layout_marginLeft="56dp" 72 android:layout_marginStart="56dp" 73 android:layout_marginTop="20dp" 74 android:onClick="fsonClick" 75 android:text="发送" 76 app:layout_constraintStart_toStartOf="parent" 77 app:layout_constraintTop_toBottomOf="@+id/nr" /> 78 79 <Button 80 android:id="@+id/qk" 81 android:layout_width="wrap_content" 82 android:layout_height="wrap_content" 83 android:layout_marginEnd="8dp" 84 android:layout_marginLeft="8dp" 85 android:layout_marginRight="8dp" 86 android:layout_marginStart="8dp" 87 android:layout_marginTop="20dp" 88 android:text="清空" 89 android:onClick="qkonClick" 90 app:layout_constraintEnd_toEndOf="parent" 91 app:layout_constraintHorizontal_bias="0.294" 92 app:layout_constraintStart_toEndOf="@+id/fs" 93 app:layout_constraintTop_toBottomOf="@+id/nr" /> 94 </android.support.constraint.ConstraintLayout>
3、MainActivity功能实现代码
1 package com.example.dell.myapplication; 2 3 import android.graphics.Color; 4 import android.support.v7.app.AppCompatActivity; 5 import android.os.Bundle; 6 import android.view.KeyEvent; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.EditText; 10 import android.widget.TextView; 11 12 public class MainActivity extends AppCompatActivity { 13 TextView tv; 14 EditText yhm,nr; 15 Button fs,qk; 16 17 18 19 20 21 @Override 22 protected void onCreate(Bundle savedInstanceState) { 23 super.onCreate(savedInstanceState); 24 setContentView(R.layout.activity_main); 25 26 tv=findViewById(R.id.tv); 27 yhm=findViewById(R.id. yhm); 28 nr=findViewById(R.id.nr); 29 fs=findViewById(R.id. fs); 30 qk=findViewById(R.id.qk); 31 32 33 34 35 36 37 38 39 40 41 } 42 43 //实现发送功能 44 public void qkonClick(View view) { 45 46 47 tv.setText("");//清空演示文本控件的内容 48 yhm.setText("");//清空输入用户名控件的内容 49 nr.setText(" ");//清空输入发送内容控件的内容 50 51 } 52 53 public void fsonClick(View view) { 54 String username=yhm.getText().toString(); 55 String centent=nr.getText().toString(); 56 tv.setText(username+":"+centent);//演示输出文本控件的内容是:用户名:发送的内容 57 } 58 59 60 }
4、边框设计drawable/border.xml
1 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 2 <item android:state_pressed="true" > 3 <shape> 4 <solid 5 android:color="#449def" /> 6 <stroke 7 android:width="1dp" 8 android:color="#2f6699" /> 9 <corners 10 android:radius="0dp" /> 11 <padding 12 android:left="5dp" 13 android:top="5dp" 14 android:right="5dp" 15 android:bottom="5dp" /> 16 </shape> 17 </item> 18 <item> 19 <shape> 20 <gradient 21 android:startColor="#ffffff" 22 android:endColor="#ffffff" 23 android:angle="270" /> 24 <stroke 25 android:width="1dp" 26 android:color="#2f6699" /> 27 <corners 28 android:radius="0dp" /> 29 <padding 30 android:left="5dp" 31 android:top="5dp" 32 android:right="5dp" 33 android:bottom="5dp" /> 34 </shape> 35 </item> 36 </selector>
四、复习意图显示跳转、意图传递数据、Bundle传递数据(从一个activity传递数据给另一个activity)以及回传数据(综合小案例)
1、效果演示:
2、布局设计
2-1、第一个activity布局设计(用户注册信息),activity_main.xml布局设计代码:
1 <?xml version="1.0" encoding="utf-8"?> 2 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".MainActivity"> 8 9 <TextView 10 android:id="@+id/textView" 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:layout_marginStart="44dp" 14 android:layout_marginLeft="44dp" 15 android:layout_marginTop="136dp" 16 android:text="用户名:" 17 app:layout_constraintStart_toStartOf="parent" 18 app:layout_constraintTop_toTopOf="parent" /> 19 20 <EditText 21 android:id="@+id/et1" 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 android:layout_marginStart="8dp" 25 android:layout_marginLeft="8dp" 26 android:layout_marginTop="136dp" 27 android:ems="10" 28 android:hint="请输入用户名" 29 android:inputType="textPersonName" 30 app:layout_constraintStart_toEndOf="@+id/textView" 31 app:layout_constraintTop_toTopOf="parent" /> 32 33 <TextView 34 android:id="@+id/textView2" 35 android:layout_width="wrap_content" 36 android:layout_height="wrap_content" 37 android:layout_marginStart="56dp" 38 android:layout_marginLeft="56dp" 39 android:layout_marginTop="28dp" 40 android:text="密码:" 41 app:layout_constraintStart_toStartOf="parent" 42 app:layout_constraintTop_toBottomOf="@+id/et1" /> 43 44 <EditText 45 android:id="@+id/et2" 46 android:layout_width="wrap_content" 47 android:layout_height="wrap_content" 48 android:layout_marginStart="8dp" 49 android:layout_marginLeft="8dp" 50 android:layout_marginTop="28dp" 51 android:ems="10" 52 android:hint="请输入密码" 53 android:inputType="textPassword" 54 app:layout_constraintStart_toEndOf="@+id/textView2" 55 app:layout_constraintTop_toBottomOf="@+id/et1" /> 56 57 <Button 58 android:id="@+id/zc" 59 android:layout_width="wrap_content" 60 android:layout_height="wrap_content" 61 android:layout_marginTop="268dp" 62 android:text="注册" 63 app:layout_constraintEnd_toEndOf="parent" 64 app:layout_constraintHorizontal_bias="0.498" 65 app:layout_constraintStart_toStartOf="parent" 66 app:layout_constraintTop_toBottomOf="@+id/et2" /> 67 68 <TextView 69 android:id="@+id/textView3" 70 android:layout_width="wrap_content" 71 android:layout_height="wrap_content" 72 android:layout_marginStart="40dp" 73 android:layout_marginLeft="40dp" 74 android:layout_marginTop="28dp" 75 android:text="兴趣爱好:" 76 app:layout_constraintStart_toStartOf="parent" 77 app:layout_constraintTop_toBottomOf="@+id/et2" /> 78 79 <CheckBox 80 android:id="@+id/cb1" 81 android:layout_width="wrap_content" 82 android:layout_height="wrap_content" 83 android:layout_marginStart="40dp" 84 android:layout_marginLeft="40dp" 85 android:layout_marginTop="28dp" 86 android:text="编程" 87 app:layout_constraintStart_toStartOf="parent" 88 app:layout_constraintTop_toBottomOf="@+id/textView3" /> 89 90 <CheckBox 91 android:id="@+id/cb2" 92 android:layout_width="wrap_content" 93 android:layout_height="wrap_content" 94 android:layout_marginStart="40dp" 95 android:layout_marginLeft="40dp" 96 android:text="下棋" 97 app:layout_constraintStart_toStartOf="parent" 98 app:layout_constraintTop_toBottomOf="@+id/cb1" /> 99 100 <CheckBox 101 android:id="@+id/cb3" 102 android:layout_width="wrap_content" 103 android:layout_height="wrap_content" 104 android:layout_marginStart="40dp" 105 android:layout_marginLeft="40dp" 106 android:text="唱歌" 107 app:layout_constraintStart_toStartOf="parent" 108 app:layout_constraintTop_toBottomOf="@+id/cb2" /> 109 </androidx.constraintlayout.widget.ConstraintLayout>
2-2、第二个activity布局设计(用户注册信息显示),activity_main2.xml布局设计代码:
1 <?xml version="1.0" encoding="utf-8"?> 2 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".Main2Activity"> 8 9 <TextView 10 android:id="@+id/t1" 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:layout_marginStart="164dp" 14 android:layout_marginLeft="164dp" 15 android:layout_marginTop="56dp" 16 android:hint="用户名" 17 app:layout_constraintStart_toStartOf="parent" 18 app:layout_constraintTop_toTopOf="parent" /> 19 20 <TextView 21 android:id="@+id/t2" 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 android:layout_marginStart="164dp" 25 android:layout_marginLeft="164dp" 26 android:layout_marginTop="16dp" 27 android:hint="兴趣爱好" 28 app:layout_constraintStart_toStartOf="parent" 29 app:layout_constraintTop_toBottomOf="@+id/t1" /> 30 31 <Button 32 android:id="@+id/cz" 33 android:layout_width="wrap_content" 34 android:layout_height="wrap_content" 35 android:layout_marginStart="160dp" 36 android:layout_marginLeft="160dp" 37 android:layout_marginTop="40dp" 38 android:onClick="chongzhi" 39 android:text="我要充值" 40 app:layout_constraintStart_toStartOf="parent" 41 app:layout_constraintTop_toBottomOf="@+id/t2" /> 42 43 <TextView 44 android:id="@+id/TVResult" 45 android:layout_width="wrap_content" 46 android:layout_height="wrap_content" 47 android:layout_marginStart="164dp" 48 android:layout_marginLeft="164dp" 49 android:layout_marginTop="40dp" 50 android:hint="充值金额显示" 51 app:layout_constraintStart_toStartOf="parent" 52 app:layout_constraintTop_toBottomOf="@+id/cz" /> 53 </androidx.constraintlayout.widget.ConstraintLayout>
2-3、第三个activity布局设计(用户充值界面),activity_main3.xml布局设计代码:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".Main3Activity"> 8 9 <EditText 10 android:id="@+id/shuru" 11 android:layout_width="0dp" 12 android:layout_height="wrap_content" 13 android:layout_weight="3" 14 android:ems="10" 15 android:hint="请输入与充值金额" 16 android:inputType="textPersonName" /> 17 18 <Button 19 android:id="@+id/cz2" 20 android:layout_width="0dp" 21 android:layout_height="wrap_content" 22 android:layout_weight="1" 23 android:onClick="backzc" 24 android:text="充值" /> 25 </LinearLayout>
3、功能实现部分
3-1、第一个activity功能实现(用户注册信息输入)MainActivity.java功能实现代码:
1 package com.example.back; 2 3 import androidx.appcompat.app.AppCompatActivity; 4 5 import android.content.Intent; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.CheckBox; 10 import android.widget.EditText; 11 import android.widget.Toast; 12 13 public class MainActivity extends AppCompatActivity implements View.OnClickListener { 14 EditText et1,et2; 15 CheckBox cb1,cb2,cb3; 16 Button zc; 17 private String hobby=""; 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 23 et1=findViewById(R.id.et1); 24 et2=findViewById(R.id.et2); 25 cb1=findViewById(R.id.cb1); 26 cb2=findViewById(R.id.cb2); 27 cb3=findViewById(R.id.cb3); 28 zc=findViewById(R.id.zc); 29 30 zc.setOnClickListener(this); 31 32 } 33 34 @Override 35 public void onClick(View v) { 36 String name=et1.getText().toString(); 37 String pwd=et2.getText().toString(); 38 if (cb1.isChecked()) 39 hobby+=cb1.getText().toString(); 40 if (cb2.isChecked()) 41 hobby+=cb2.getText().toString(); 42 if (cb3.isChecked()) 43 hobby+=cb3.getText().toString(); 44 45 if (name.equals("")||pwd.equals("")) 46 Toast.makeText(this, "抱歉,登录注册;请重新注册", Toast.LENGTH_SHORT).show(); 47 48 else{ 49 Toast.makeText(this, "恭喜您,注册成功", Toast.LENGTH_SHORT).show(); 50 51 52 Intent intent=new Intent(MainActivity.this,Main2Activity.class);//新建立意图对象(意图名为intent) 53 Bundle bundle=new Bundle();//新建包对象作为存储数据(包名为bundle) 54 bundle.putString("username",name);//包名.putString("键名",对应的键名内容);向第二activity传输用户名 55 bundle.putString("Myhobby",hobby);//包名.putString("键名",对应的键名内容);向第二activity传输密码 56 intent.putExtras(bundle);//意图名.putExtras(bundle),通过意图来打包键名一起发送出去 57 startActivity(intent);//开始执行意图 58 } 59 } 60 }
3-2、第二个activity功能实现(用户注册信息显示)Main2Activity.java功能实现代码:
1 package com.example.back; 2 3 import androidx.annotation.Nullable; 4 import androidx.appcompat.app.AppCompatActivity; 5 6 import android.content.Intent; 7 import android.os.Bundle; 8 import android.view.View; 9 import android.widget.Button; 10 import android.widget.TextView; 11 12 public class Main2Activity extends AppCompatActivity { 13 TextView t1,t2; 14 Button cz; 15 TextView TVResult; 16 17 @Override 18 protected void onCreate(Bundle savedInstanceState) { 19 super.onCreate(savedInstanceState); 20 setContentView(R.layout.activity_main2); 21 22 t1=findViewById(R.id.t1); 23 t2=findViewById(R.id.t2); 24 cz=findViewById(R.id.cz); 25 TVResult=findViewById(R.id.TVResult); 26 27 28 29 30 31 Intent intent = getIntent();//建立接受意图 32 Bundle bundle = intent.getExtras();//建立接受包 33 String username = bundle.getString("username");//建立上个activity所传递的用户名数据赋值给username 34 String Myhobby = bundle.getString("Myhobby");//建立上个activity所传递的密码数据赋值给Myhobby 35 t1.setText("用户名:"+username); 36 t2.setText("兴趣爱好:"+Myhobby); 37 38 } 39 40 //实现点击我要充值按钮跳转 41 public void chongzhi(View view){ 42 Intent intent=new Intent(Main2Activity.this,Main3Activity.class); 43 //创建显示意图跳转(有第二个Activity跳转到第三个Activity中) 44 startActivityForResult(intent,1);//开始执行意图跳转并且返回结果(返回结果请求码要求必须是唯一的,不能与别的请求码相同) 45 } 46 47 48 //复写onActivityResult方法来接受第三个activity回传来的数据 49 @Override 50 protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { 51 super.onActivityResult(requestCode, resultCode, data); 52 String scanf= data.getStringExtra("scanf");//得到第三方activity回传的数据并赋值给scanf 53 TVResult.setText("充值金额为:"+scanf+"元");//输出演示充值金额 54 } 55 }
3-3、第三个activity功能实现(用户实现充值金额功能)Main3Activity.java功能实现代码:
1 package com.example.back; 2 3 import androidx.appcompat.app.AppCompatActivity; 4 5 import android.content.Intent; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.EditText; 10 11 public class Main3Activity extends AppCompatActivity { 12 EditText shuru; 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main3); 18 shuru=findViewById(R.id.shuru); 19 20 21 } 22 23 public void backzc(View view){ 24 String scanf=shuru.getText().toString(); 25 Intent intent=new Intent(); 26 intent.putExtra("scanf",scanf); 27 setResult(2,intent);//回传数据 28 finish();//当前Activity完成出栈 29 30 } 31 }
五、总结知识点:
本次通过四次作业小练习,让我学会了单选按钮交互、复选按钮交互、文本编辑交互(数据传输),以及如何通过一个activity跳转到另一个activity中(有两种形式:①显示方式②隐式方式),并且能够实现由一个activity传送数据到第二个activity数据(有两种方法:①通过创建意图对象,意图名.putExtra("键名",对应的传送值); ②通过在意图基础下创建Bundle来实现数据传送 例如:bundle.putString("键名",对应的传送值);回传数据(由第二个activity数据回传到第一个activity数据)使用setResult()函数实现回传数据。
以上就是本次练习全部总结,我是安德风QQ1652102745,喜欢我的小伙伴,欢迎点击点赞与关注有问题欢迎在下方留言,看到后会一一答复。感谢大家的信任与支持。